Раньше я использовал HAP, загружая xhtml-страницы из Интернета. Однако теперь я пытаюсь загрузить и проанализировать XML-документы. HAP загружает только XML-документы, которые находятся в моей файловой системе, например, «C: \ xml \ MyXml.xml». Он не будет загружать его из Интернета (http://www.web.com/doc.xml). Используя Fiddler, я вижу, что HAP фактически запрашивает XML-документы через Интернет, а сервер также отвечает XML-документом. Тем не менее, он останавливается, ничего не анализируется. HtmlDocument пуст, нет ChildNodes или что-то еще. При загрузке из файловой системы он успешно обрабатывается в HtmlDocument.
Есть идеи?
Если вы используете только XML (а не (X) HTML), вам не нужно использовать HAP, поскольку .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);
Я предполагаю, что вы используете HAP, потому что XML, который вы пытаетесь проанализировать, указывает таблицу стилей XSL, чтобы преобразовать ее в (X) HTML, который вы тогда хотите каким-то образом манипулировать?
Если это не так, и вас просто интересует необработанная структура XML, то используйте .Net встроенные пространства имен XmlDocument и System.Xml, как предлагает ответ Себастьяна.
Если вам действительно нужно манипулировать структурой HTML такого документа, вам нужно будет загрузить XML самостоятельно, примените XSLT с помощью System.Xml
чтобы сгенерировать полученный HTML-код, прежде чем пытаться проанализировать это с помощью HAP.