Skip to main content
 首页 » 编程设计

c#之HTML Agility Pack之只能从文件系统加载 xml 文档,不能从 Web

2024年02月03日34telwanggs

我以前成功使用过 HAP,从 Web 下载 xhtml 页面。但是,现在我正在尝试加载和解析 xml 文档。 HAP 只会加载位于我的文件系统上的 xml 文档,例如“C:\xml\MyXml.xml”。它不会从网络 (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);