我有XHTML文件,其源代码不完全有效,它不遵循XML文档的DTD。
就像"
使用&Idquo;
或撇号的地方一样,它使用’
。这会导致我的C#代码中出现异常。
那么我可以使用任何方法或任何网络链接来摆脱这个吗?
答案 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#