如何解析不是100%有效的XHTML文件?

时间:2009-05-08 18:02:08

标签: c# xml validation xhtml dtd

我有XHTML文件,其源代码不完全有效,它不遵循XML文档的DTD。

就像"使用&Idquo;或撇号的地方一样,它使用’。这会导致我的C#代码中出现异常。

那么我可以使用任何方法或任何网络链接来摆脱这个吗?

3 个答案:

答案 0 :(得分:4)

如果文件格式正确,您可以在自己的DTD中定义字符实体。

如果文件格式错误,CodePlex的HTML Agility Pack将对其进行解析。

答案 1 :(得分:1)

您可以解析文档as HTML,因为它们最终都是在DOM中,而HTML解析器会嘲笑这些三色堇引号问题。与未知的HTML Tidy想法一起,您可以将DOM序列化为有效的XHTML文件。 (这与使用HTML Tidy相同,无论如何都可能使用HTML解析器,除非您以编程方式从C#中执行此操作。)

答案 2 :(得分:0)

由于XML的本质,它需要有效,否则它根本不会呈现。我首先会看到它使用W3C的验证器http://validator.w3.org/

生成的错误类型

还要考虑使用HTML tidy,它也可以配置为修复XML。

我们使用hpricot来修复我们的XML,但是我们再次构建rails应用程序。不确定C#