Библиотека для создания .NET XmlDocument из супа тега HTML - PullRequest
2 голосов
/ 01 апреля 2009

Я ищу библиотеку .NET, которая может генерировать чистое дерево Xml, в идеале System.Xml.XmlDocument, из недопустимого кода HTML. И.Е. он должен делать все возможное, чтобы угадывать, исправлять и заменять браузеры, когда сталкиваются с этой ситуацией, и генерировать притворный XmlDocument. Библиотека также должна быть в хорошем состоянии. :)

Я понимаю, что это много (слишком много?), Чтобы спросить, и я был бы признателен за любые полезные выводы. Кажется, что для Java существует довольно много реализаций, но я бы не стал создавать свои собственные привязки. Пока что для .NET я нашел http://www.majestic12.co.uk/projects/html_parser.php и http://users.rcn.com/creitzel/tidy.html#dotnet, и http://sourceforge.net/projects/tidyfornet.

Я еще не собрал и не протестировал ни один из них, но из (редких) документов и редких обновлений они, похоже, не имеют того, что я ищу. Итак, какие у вас есть рекомендации, либо из этих вариантов, либо из вашего прошлого опыта.

1 Ответ

8 голосов
/ 01 апреля 2009

HTML Agility Pack высоко оценен. Это, безусловно, сделает разбор / лучшее предположение и т. Д.

Модель по сути похожа на XmlDocument, включая SelectNodes и т. Д. Для запросов.

Если вам нужен вывод xhtml, есть флаг OptionOutputAsXml; Я полагаю, что если установить значение true и вызвать Save, получится xhtml.

...