我写了一个SAX解析器。当attibute值嵌套在双引号中时,它工作正常。但如果我不使用引用它会引发异常。我希望我的解析器解析其属性值不在引号内的XML文件。 我想解析以下类型的文件:
<root>
<tag1 attribute1=value1 > my data </tag1>
</root>
请注意,value1不在引号
中我可以让我的解析器解析上面的文件吗?如果是的话怎么样?
答案 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());
}
}