2013-11-21 3 views
1

Я загрузил исходный код веб-страницы, и я хочу проанализировать и преобразовать текст HTML в нечто вроде Объект или интерфейс HtmlDocument, чтобы я мог получить доступ к элементу HTML в нем.Как анализировать HTML в приложениях Windows Store?

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

Так что мой вопрос: как получить HtmlDocument из WebView? Или есть ли лучшее решение для этого?

+0

Почему вы не хотите использовать стороннюю библиотеку? Они часто являются самым простым способом получить функциональность и работать, особенно для функций, которые по умолчанию не предусмотрены. –

+0

Причина довольно проста: иногда введение сторонней библиотеки означает дополнительные проблемы: надежный, производительность, контроль версий, переносимость и т. Д. Я пытался максимально упростить мою базу кода. Поэтому в принципе я должен предпочесть собственное решение, чем стороннее, если оно есть. Не в обиду! Спасибо за быстрый комментарий! – SimonFisher

+0

Без обид не беспокоиться. Я только спросил, потому что у некоторых людей есть нелогичный страх перед сторонними компонентами, что часто может привести к тратам времени и усилий. Прагматичная разработка программного обеспечения - это все, что связано с работой других людей, чтобы достичь даже более высоких высот. –

ответ

4

Как Тодд Боулз также указывает в комментариях выше, если существует стороннее решение, использование его часто может сэкономить вам драгоценное время и усилия.

Альтернатива HTML Agility Pack, хотя все еще находится на довольно ранней стадии, является AngleSharp. Он может анализировать различные гипертексты, основанные на скобках, в частности HTML и CSS, и он создает представление HTML5 DOM анализируемого гипертекста. На данный момент парсер HTML5, как утверждается, заполнен на 95%, мы надеемся, что это будет иметь ограниченное влияние на регулярное использование.

AngleSharp реализован как Portable Class Library (PCL), и если я правильно его цели Windows Store приложения, .NET Framework 4 и выше, Windows Phone 7 и выше, так как а также Silverlight 4 и выше.

+0

95% - защитная оценка. Большинство тестов (в настоящее время около 1600) относятся к случаям с HTML (5) (краем). Если AngleSharp не анализирует его правильно, то HAP или другие решения также не будут правильно анализировать его. –

Смежные вопросы