我之前成功使用过HAP,从网上下载xhtml页面。但是,现在我正在尝试加载和解析xml文档。 HAP只会加载位于我的文件系统上的xml文档,例如“C:\ xml \ MyXml.xml”。它不会从Web(http://www.web.com/doc.xml)加载它。使用Fiddler,我可以看到HAP实际上是通过Web请求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命名空间,如Sebastian的回答所示。
如果您确实需要操作此类文档的HTML结构,则需要自己下载XML,使用System.Xml
应用XSLT生成生成的HTML,然后再尝试使用HAP解析它。