1

我之前已经成功使用过 HAP,从 web 下载 xhtml 页面。但是,现在我正在尝试加载和解析 xml 文档。HAP 只会加载位于我的文件系统上的 xml 文档,例如“C:\xml\MyXml.xml”。它不会从网络 (http://www.web.com/doc.xml) 加载它。使用 Fiddler,我可以看到 HAP 实际上是通过 web 请求 xml 文档,服务器也响应 xml 文档。但是,它停在那里,没有任何东西被解析。HtmlDocument 是空的,没有 ChildNodes 或任何东西。从文件系统加载时,它会成功解析为 HtmlDocument。

有任何想法吗?

4

2 回答 2

5

如果您只使用 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);
于 2011-01-10T10:47:50.667 回答
0

我假设您正在使用 HAP,因为您尝试解析的 XML 指定了一个 XSL 样式表以将其转换为 (X)HTML,然后您希望以某种方式对其进行操作?

如果不是这种情况,并且您只是对原始 XML 结构感兴趣,那么按照 Sebastian 的回答建议,使用 .Net 内置的 XmlDocument 和 System.Xml 命名空间。

如果您确实需要操作此类文档的 HTML 结构,您将需要自己下载 XML,System.Xml在尝试使用 HAP 解析它之前应用 XSLT 使用以生成结果 HTML。

于 2011-01-10T11:52:18.487 回答