【问题标题】:parsing a XML file in java在java中解析XML文件
【发布时间】:2009-09-06 05:42:30
【问题描述】:

我写了一个 SAX 解析器。当属性值嵌套在双引号中时,它可以正常工作。但如果我不使用引号,它会引发异常。我希望我的解析器解析其属性值不在引号内的 XML 文件。 我想解析以下类型的文件:

<root>
    <tag1 attribute1=value1 > my data  </tag1>
</root>

注意 value1 不在引号内

我可以让我的解析器解析上面的文件吗?如果是怎么办?

【问题讨论】:

    标签: java xml parsing


    【解决方案1】:

    SAX 解析器不会读取它,因为它不是 well-formed XML。所有属性值都需要用单引号或双引号括起来。

    要让您的解析器读取它,您会发现必须使用相关库来整理/净化/修复它。

    【讨论】:

    • 实际上,XML 格式不正确。有效性是指针对 DTD、XSD 或应用于 XML 的任何其他类型的语法约束的验证。
    • 我的意思是“额外的限制”......对不起。
    【解决方案2】:

    试试 NekoHTML (http://nekohtml.sourceforge.net/usage.html)

    例如

    package sample;
    
    import org.apache.xerces.parsers.AbstractSAXParser;
    import org.cyberneko.html.HTMLConfiguration;
    
    public class HTMLSAXParser extends AbstractSAXParser {
        public HTMLSAXParser() {
            super(new HTMLConfiguration());
        }
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-08-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-10-26
      • 1970-01-01
      • 2012-09-11
      相关资源
      最近更新 更多