我正在尝试使用StAX解析这样的处理指令:
<?item something="<some_element></some_element>"?>
StAX似乎没有将此识别为处理指令。它找到了这些事件:
< - CharacterEvent
?item something=" - CharacterEvent
<some_element> - StartEvent
</some_element> - EndEvent
"?> - CharacterEvent
不应该将整个事件视为单个ProcessingInstruction事件吗?
答案 0 :(得分: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
使用Java 6.你使用的是什么Java版本?