使用DefaultHandler实现LexicalHandler的Sax解析器

时间:2012-11-28 15:48:12

标签: java xml-parsing sax

我有一个带有此签名的处理程序:

class XMLReaderHandler extends DefaultHandler implements LexicalHandler

我正在使用sax解析器(javax.xml.parsers.SAXParser)

<id></id>这样的空标记的情况下,解析器是否可以不调用方法

characters(char[] ch, int start, int length)
        throws SAXException

这是我在调试时出现的空标签。我仍然需要做角色,因为我想在这种情况下添加一个空字符串。

PS:不建议XPath,因为我已经在使用它了,我正在用Sax实现它,以防我需要处理大数据。

由于

编辑:

所以一些新信息。我在我的架构中使用xs:anyTypeprocessContents="skip"。显然SaxParser会跳过这样的事情,所以我发现我可以使用类似的东西:

saxParserFactory.setFeature(
"http://java.sun.com/xml/schema/features/report-ignored-element-content-whitespace", 
true);  

但它给了我org.xml.sax.SAXNotRecognizedException: Feature 'http://java.sun.com/xml/schema/features/report-ignored-element-content-whitespace' is not recognized.

0 个答案:

没有答案