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 を使用しているため、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