2011-01-10 3 views
0

Я успешно использовал HAP, загружая xhtml-страницы из Интернета. Однако теперь я пытаюсь загрузить и проанализировать XML-документы. HAP загружает только XML-документы, которые находятся в моей файловой системе, например, «C: \ xml \ MyXml.xml». Он не будет загружать его из Интернета (http://www.web.com/doc.xml). Используя Fiddler, я вижу, что HAP фактически запрашивает XML-документы через Интернет, а сервер также отвечает XML-документом. Тем не менее, он останавливается, ничего не анализируется. HtmlDocument пуст, нет ChildNodes или что-то еще. При загрузке из файловой системы он успешно обрабатывается в HtmlDocument.HTML Agility Pack - может загружать только XML-документ из файловой системы, а не из сети

Любые идеи?

ответ

5

Если вы используете только XML (а не (X) HTML), то вам не нужно использовать ГАП, как .Net имеет комплексную обработку XML построен в:

String PostUrl = "http://www.web.com/doc.xml"; 
WebResponse webResponse = WebRequest.Create(PostUrl).GetResponse(); 
StreamReader sr = new StreamReader(webResponse.GetResponseStream()); 

String Result = sr.ReadToEnd().Trim(); 

XmlDocument xdoc = new XmlDocument(); xdoc.LoadXml(Result); 
+4

И если вы используете Linq для Xml, вы можете использовать var xDoc = XDocument.Load («URL»); – Buginator

0

Я предполагаю, что вы используете HAP, потому что XML, который вы пытаетесь проанализировать, указывает таблицу стилей XSL, чтобы преобразовать ее в (X) HTML, который вы тогда хотите каким-то образом манипулировать?

Если это не так, и вас интересует необработанная структура XML, то используйте .Net встроенные пространства имен XmlDocument и System.Xml, как предлагает ответ Себастьяна.

Если вам действительно нужно манипулировать структурой HTML такого документа, вам необходимо загрузить XML самостоятельно, примените XSLT с помощью System.Xml, чтобы сгенерировать полученный HTML-код, прежде чем пытаться проанализировать это с помощью HAP.

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

  • Нет связанных вопросов^_^