1

StAXを使用して次のような処理命令を解析しようとしています。

<?item something="<some_element></some_element>"?>

StAXはこれを処理命令として認識していないようです。これらのイベントを検出します。

< - CharacterEvent
?item something=" - CharacterEvent
<some_element> - StartEvent
</some_element> - EndEvent
"?> - CharacterEvent

すべてを単一のProcessingInstructionイベントと見なすべきではありませんか?

4

1 に答える 1

2

期待どおりに動作します。このコード:

String xml = "<?item something=\"<some_element></some_element>\"?><foo></foo>";
XMLEventReader reader = XMLInputFactory.newInstance().createXMLEventReader(new StringReader(xml));
while (reader.hasNext()) {
    final XMLEvent event = reader.nextEvent();
    System.out.println(event + " - " + event.getClass().getSimpleName());
}

これを印刷します:

<?xml version="1.0" encoding='null' standalone='no'?> - StartDocumentEvent
<?itemsomething="<some_element></some_element>"?> - ProcessingInstructionEvent
<foo> - StartElementEvent
</foo> - EndElementEvent
ENDDOCUMENT - EndDocumentEvent

これはJava6の場合です。使用しているJavaのバージョンは何ですか。

于 2010-04-07T15:37:29.620 に答える