【问题标题】:How to parse an XHTML file that is not 100% valid?如何解析不是 100% 有效的 XHTML 文件?
【发布时间】:2010-10-24 20:57:19
【问题描述】:

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

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

那么有什么方法或任何网络链接可以用来摆脱这种情况吗?

【问题讨论】:

    标签: c# xml validation xhtml dtd


    【解决方案1】:

    根据 XML 的性质,它必须是有效的,否则它根本不会呈现。我先看看它使用 W3C 的验证器 http://validator.w3.org/ 会产生什么类型的错误

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

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

    【讨论】:

    • XML 不需要有效(按照规范中定义的这个词的含义),它需要格式正确。
    【解决方案2】:

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

    【讨论】:

      【解决方案3】:

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

      如果文件格式不正确,来自 CodePlex 的 HTML Agility Pack 将解析它。

      【讨论】:

        猜你喜欢
        • 2018-11-26
        • 1970-01-01
        • 1970-01-01
        • 2012-12-29
        • 2015-12-12
        • 2011-06-06
        • 1970-01-01
        • 2012-01-16
        • 1970-01-01
        相关资源
        最近更新 更多