在java中解析XML文件

时间:2009-09-06 05:42:31

标签: java xml parsing

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

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

请注意,value1不在引号

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

2 个答案:

答案 0 :(得分:6)

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

要使解析器读取它,您必须使用相关库对其进行整理/净化/修复。

答案 1 :(得分:0)

尝试使用NekoHTML(http://nekohtml.sourceforge.net/usage.html

e.g。

package sample;

import org.apache.xerces.parsers.AbstractSAXParser;
import org.cyberneko.html.HTMLConfiguration;

public class HTMLSAXParser extends AbstractSAXParser {
    public HTMLSAXParser() {
        super(new HTMLConfiguration());
    }
}