我有一個XML文件開始:如何正確地通過使用Java的XML進行迭代?
<?xml version="1.0"?>
<results>
<result id="0001">
<hometeam>
<name>Dantooine Destroyers</name>
<score>6</score>
</hometeam>
<awayteam>
<name>Wayland Warriors</name>
<score>0</score>
</awayteam>
</result>
<result id="0002">
<hometeam>
<name>Dantooine Destroyers</name>
<score>3</score>
</hometeam>
<awayteam>...
,並在Java文件:
if(event.isStartElement()){
if(event.asStartElement().getName().getLocalPart().equals(HOME)){
System.out.println("In hometeam"); // for testing purposes
event = eventReader.nextEvent(); // I expect <name> element
if(event.isStartElement()){ // <------------ FALSE
if(event.asStartElement().getName().getLocalPart().equals(NAME)){....
我期望這個if語句爲<name>
元素是真實的,但如果我堅持在System.out.println(event.isStartElement())
我得到FALSE
....
也event.getEventType()
返回XMLEvent.CHARACTERS
,我不明白...任何人都可以看到爲什麼?
如有必要,隨意對標籤/標題和問題進行編輯。
難道你不能使用框架而不是編寫自己的解析器嗎?我會使用JAXB或XStream來自動生成Java對象。 – Kai 2011-12-19 13:26:41
我的任務是編寫我自己的解析器 – Mead3000 2011-12-19 13:29:26
我認爲他正在使用基於SAX的StAX(Streaming API for XML),因此是面向事件的代碼。 – jjmontes 2011-12-19 13:31:01