Ich schreibe eine Anwendung, die eine Gruppe meiner Webseiten durchsucht. Anstatt den gesamten Quellcode der Seite zu übernehmen, möchte ich den gesamten Inhalt übernehmen und speichern und in der Lage sein, die Seite als einfachen Text in einer Datenbank zu speichern. Der Inhalt wird in anderen Anwendungen verwendet und nicht von Benutzern gelesen, so dass es nicht notwendig ist, dass er für Menschen lesbar ist.
Zuerst dachte ich daran, reguläre Ausdrücke zu verwenden, aber ich habe keine Kontrolle über die Gültigkeit der Webseiten und es besteht die große Chance, dass mir kein regulärer Ausdruck den Inhalt geben würde.
Wenn ich den Quellcode innerhalb einer Zeichenfolge habe, wie kann ich diese Zeichenfolge des Quellcodes in den Inhalt in C # umwandeln?
Es ist nicht 100% klar, was Sie wollen, aber ich nehme an, Sie möchten den Text minus Markup; Also:
%Vor%Bitte, bitte nicht HTML selbst analysieren! Sie können nicht nur einen Standard-Regex verwenden, um HTML zu analysieren - das ist nicht möglich.
Es gibt Tonnen von freien Bibliotheken da draußen. Einer der besten kostenlosen in der .NET-Welt ist das HTML Agility Pack .
HTML Agility Pack unterstützt auch fehlerhafte Dokumente, was ein Regex oder ein anderes grundlegendes Parsing wie XML fast nie kann.
hilft dabei, alle HTML-Tags, Skripte, CSS, Styles aus der HTML-Zeichenkette zu entfernen und in einen einfachen Text umzuwandeln. Quelltext anzeigen
%Vor%Ich habe Code geschrieben, um den unformatierten Text aus dem Markup auszublenden und in meinem Artikel HTML zu konvertieren zu Text . Der dargestellte Code ist ziemlich einfach und leicht.
Ich habe auch einen leichten HTML-Parser geschrieben und ihn auf Github als HTML-Affe gepostet. Dies wäre eine vollständigere Lösung und es wäre eine einfache Aufgabe, das analysierte Markup zu konvertieren, um nur den Text zu erhalten. Ich arbeite immer noch an diesem Projekt und bin auf der Suche nach Feedback, wie es funktioniert.
Tags und Links string c# html-parsing