Paquete de agilidad HTML: solo puede cargar documentos xml desde el sistema de archivos, no desde la web

.net c# html-agility-pack scrape

Pregunta

He usado HAP con éxito anteriormente, descargando páginas xhtml desde la web. Sin embargo, ahora estoy intentando cargar y analizar documentos XML. HAP solo cargará los documentos XML que se encuentran en mi sistema de archivos, "C: \ xml \ MyXml.xml", por ejemplo. No lo cargará desde la web (http://www.web.com/doc.xml). Al usar Fiddler, puedo ver que HAP en realidad está solicitando los documentos xml a través de la web, y el servidor también responde con el documento xml. Sin embargo, se detiene allí, nada se analiza. El HtmlDocument está vacío, no hay ChildNodes ni nada. Al cargar desde el sistema de archivos, se analiza correctamente en un documento HtmlDocument.

¿Algunas ideas?

Respuesta aceptada

Si está utilizando solo el XML (y no el HTML (X)), no necesita usar HAP, ya que .Net tiene un procesamiento XML completo integrado:

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);

Respuesta popular

¿Supongo que está utilizando HAP porque el XML que está intentando analizar especifica una hoja de estilo XSL para transformarlo a (X) HTML que luego desea manipular de alguna manera?

Si este no es el caso y solo estás interesado en la estructura XML sin formato, utiliza los espacios de nombres XmlDocument y System.Xml integrados de .Net como sugiere la respuesta de Sebastian.

Si realmente necesita manipular la estructura HTML de dicho documento, necesitará descargar el XML usted mismo, aplique el XSLT utilizando System.Xml para generar el HTML resultante antes de intentar analizar esto con HAP.



Licencia bajo: CC-BY-SA with attribution
No afiliado con Stack Overflow
¿Es esto KB legal? Sí, aprende por qué
Licencia bajo: CC-BY-SA with attribution
No afiliado con Stack Overflow
¿Es esto KB legal? Sí, aprende por qué