【发布时间】:2012-01-22 06:08:27
【问题描述】:
我正在尝试下载一个网页并对其进行解析。我需要到达 html 文档的每个节点。所以我用WebClient来下载,效果很好。然后我使用以下代码段来解析文档:
WebClient client = new WebClient();
Stream data = client.OpenRead("http://web.cs.hacettepe.edu.tr/~bil339/");
StreamReader reader = new StreamReader(data);
string xml = reader.ReadToEnd();
data.Close();
reader.Close();
XmlDocument xmlDoc = new XmlDocument();
xmlDoc.loadXml(xml);
在最后一行,程序等待一段时间,然后崩溃。它说 HTML 代码中有错误,这是意料之外的,不应该在这里,等等。 有什么建议可以解决这个问题吗?欢迎使用其他解析 HTML 代码的技术(当然是在 C# 中。)
【问题讨论】:
-
loadxml 需要一个xml文件,如果是html页面会抛出异常
-
一些遵循 xhtml 的页面可以用 XML 阅读器解析,但要解析 any html 页面,您必须使用特殊的 html 解析器。
-
@kashif 检查这里:msdn.microsoft.com/en-us/library/… Denis 你是对的,这种方法不起作用。
标签: c# parsing web xmldocument