C # Gibt es eine LINQ zu HTML oder eine andere gute .Net HTML-Manipulations-API?
Ich habe eine C# WPF Anwendung, zu konsumieren Daten, die ausgesetzt auf einer Webseite als HTML-Tabelle.
Nach dem aufstehen inspiration aus dieser url Ich versucht, mit Hilfe von Linq to Xml Parsen des Html-Dokuments, aber dies funktioniert nur, wenn das HTML-Dokument ist sehr gut gebildet (und nicht irgendwelche Kommentare oder HTML-entities drin). Ich habe es geschafft, eine funktionierende Lösung mit dieser Technik, aber es ist weit vom ideal entfernt.
Ich bin nach einer Lösung, die bestimmt ist für das Parsen von HTML. Ich habe gehackt "Lösungen" vor, aber Sie sind spröde. Ich bin nach einer robusten Weg von analysieren/manipulieren das Dokument. Ich würde am Liebsten etwas, das macht die Aufgabe so einfach wie wäre es mit Javascript/JQuery.
Kennt jemand eine gute .Net-Bibliothek oder das Dienstprogramm für die Analyse/Manipulation von HTML?
InformationsquelleAutor der Frage Doctor Jones | 2009-02-12
Du musst angemeldet sein, um einen Kommentar abzugeben.
Obwohl es nicht LINQ basiert,empfehle ich die recherche der HTML-Agility-Pack von CodePlex.Hinweis: Html Agility Pack unterstützt nun Linq to Objects (über eine LINQ to Xml-interface)
Aus dem HTML-Agility-Pack Seite:
InformationsquelleAutor der Antwort LaptopHeaven
Gibt es eine LINQ-zu-HTML-Bibliothek hier:
http://www.superstarcoders.com/linq-to-html.aspx
InformationsquelleAutor der Antwort keith
HTML ist selten gut gebildet genug, dass Sie könnte zuverlässig LINQ to XML. Es ist denkbar, finden Sie vielleicht eine HTML - "cleaner" , konnte dann die Formatierung gut genug, um zu Lesen, aber es ist nicht zu sagen, wie robust es sein würde.
Ich nehme an, dies ist ein "screenscraper" , liest aus einer HTML-Tabelle, über die Sie keine Kontrolle haben. Nicht stress, über die Robustheit in diesem Fall screen-scraping ist von Natur aus spröde. Wenn Ihre Anforderungen sind festgelegt in Stein, design die Spachtel leicht aktualisierbar, falls/wenn die HTML-Sie sind Schaben änderungen.
InformationsquelleAutor der Antwort Dave Swersky
Ich hatte dies in einem aktuellen Projekt und ich habe LINQ to XML. Wenn Sie wissen, dass es immer sauber XHTML-dann kann man wohl auch rekursiv kopieren Sie den DOM ziemlich leicht, aber ich habe die DevComponents HTMLDocument-Klasse Bibliothek (http://www.devcomponents.com/htmldoc/) zum konvertieren von HTML in XML, zog dann in ein XElement. Dies reduziert die Herausforderung zu bekommen Sie Ihren HTML-Code in ein XElement-Hierarchie. Die einzige Einschränkung ist es drosseln auf Skript-Elemente, so dass ich gelöscht, diesen durch brute-force.
InformationsquelleAutor der Antwort AndyM
Ich habe einige code mit "LINQ to HTML" - Funktion hier:
Suche für C# - HTML-parser
InformationsquelleAutor der Antwort Frank Schwieterman