我有一个带有这个签名的处理程序:
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:anyType
with 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.