0

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

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:anyTypewith processContents="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.

4

0 回答 0