私はこの署名を持つハンドラーを持っています:
class XMLReaderHandler extends DefaultHandler implements LexicalHandler
私はsaxパーサー( javax.xml.parsers.SAXParser )でそれを使用しています
<id></id>
パーサーのような空のタグの場合、メソッドを呼び出していない可能性はありますか?
characters(char[] ch, int start, int length)
throws SAXException
これは、空のタグが存在する場合にデバッグで取得しているものです。その場合は空の文字列を追加したいので、まだ文字のことをする必要があります。
PS: 私は既に XPath を使用しているため、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.