Wie kann ich das DOM manipulieren, die aus einem HTML-string in C#?
Für den Augenblick die beste Möglichkeit, die ich gefunden habe, um in der Lage zu manipulieren, DOM aus einer Zeichenfolge, die HTML enthalten ist:
WebBrowser webControl = new WebBrowser();
webControl.DocumentText = html;
HtmlDocument doc = webControl.Document;
Gibt es zwei Probleme:
- Erfordert die
WebBrowser
Objekt! - Dies kann nicht mit mehreren threads; ich brauche etwas, das würde die Arbeit in verschiedenen Threads (anderen als dem Haupt-thread).
Irgendwelche Ideen?
InformationsquelleAutor Patrick Desjardins | 2008-10-23
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ich habe eine Suche zum GooglePlex für HTML und ich fand Html-Agility-Pack ich weiß nicht, ob es ist oder nicht, ich bin herunterladen es jetzt zu geben versuchen.
Dito - ich war eigentlich zu empfehlen, mit HTML-Tidy, um das Dokument in einer guten Form und dann drehen Sie es in ein XmlDocument, aber vielleicht können Sie überspringen, die mit dem HTML Agility Pack. Gutes Zeug.
Agility pack, funktioniert mit HTML und Faden! Ich habe meine Antwort! Thx alle!!!
Ja, +1 für das HtmlAgilityPack. Stehen auf den Schultern von Riesen!
Html-Agility-Pack IST BUGGY!!!!! Sie können nicht ändern, html . es ist gut, wenn Sie nicht ändern Sie html . html-Modifikation ( insertafter , replacenode ) NICHT Funktioniert . csQuery sieht vielversprechender
InformationsquelleAutor Patrick Desjardins
Je nachdem, was Sie zu tun versuchen (vielleicht kannst du uns mehr details?) und je nachdem, ob der HTML-Code, gut geformt, Sie könnte wandeln diese in eine
XmlDocument
:Dann Sie manipulieren könnte es leicht sein, ohne die
WebBrowser
Instanz. Wie für threads, ich weiß nicht genug über die Umsetzung derXmlDocument
wissen die Antwort auf das Teil.Wenn das Dokument nicht in der richtigen form, Sie könnte verwenden NTidy (.NET wrapper für HTML Tidy), um es in Form der ersten; ich musste das tun, was für ein Projekt einmal und es war wirklich nicht schlecht.
InformationsquelleAutor Jason Bunting
JasonBunting schon gepostet, aber es funktioniert wirklich zu verwenden .net wrapper für HTML tidy und laden Sie es in ein XmlDocument.
Habe ich diese verwendet .net-wrapper vor :
http://www.codeproject.com/KB/cs/ZetaHtmlTidy.aspx
Und implementiert es etwas wie dieses:
Leid, wenn Sie als ein repost 🙂
InformationsquelleAutor Martin Kool
Dies ist eine alte Frage. Jetzt gibt es:
InformationsquelleAutor Ashraf Sabry