使用xml.Load打开HTML文档

时间:2011-06-30 20:25:19

标签: c# html xml document

我想打开一个HTML文档(作为从StreamReader,从网络上检索的字符串), 通过这种方式创建XMLDocument:

XmlDocument doc = new XmlDocument

doc.Load(string containing the retrieved document).

但是由于HTML文档包含这个头:

 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd" > 

它告诉我文档无效......有什么方法可以解决这个问题吗?

4 个答案:

答案 0 :(得分:2)

普通的html,即使它是有效的html,也不是有效的xml。

有一个名为HtmlAgilityPack的库,它是一个流行的第三方开源库,可以用来解决这个问题:

答案 1 :(得分:0)

如果你肯定HTML是有效的XML,我想你可以简单地用XML替换HTML头。

答案 2 :(得分:0)

首先,你必须验证XHTML是一个有效的XHTML文档(这意味着它也是一个有效的XML文档)。

将您的XHTML代码粘贴到此处并查看输出。 http://validator.w3.org/#validate_by_input

祝你好运!

答案 3 :(得分:0)

可以使用HTML Tidy Tidy.NET