2013-03-22 103 views
4

我有這個XML文件:LibGDX讀取XML文件

<pack name="Cappellino" num_monete_livello="1100"> 
    <level number="1" status="nolocked" /> 
    <level number="2" status="locked" /> 
    <level number="3" status="locked"/> 
</pack> 
<pack name="Canottiera"> 
    <level number="4" status="locked"/> 
    <level number="5" status="locked"/> 
    <level number="6" status="locked"/> 
    <level number="7" status="locked"/> 
</pack> 
<pack name="Tuta"> 
    <level number="8" status="locked"/> 
    <level number="9" status="locked"/> 
    <level number="10" status="locked"/> 
</pack> 

對於讀取這個文件我用這個代碼:

XmlReader xml = new XmlReader(); 
XmlReader.Element xml_element = xml.parse(ProgressFileHandle); 
Iterator iterator_level = xml_element.getChildrenByName("level").iterator(); 
while(iterator_level.hasNext()){ 
    XmlReader.Element level_element = (XmlReader.Element)iterator_level.next(); 
    String level_number = level_element.getAttribute("number"); 
    String level_status = level_element.getAttribute("status"); 
} 

的問題是,代碼返回我的只有最後的包而事實上行XmlReader.Element xml_element = xml.parse(ProgressFileHandle);只返回我:

<pack name="Tuta"> 
    <level number="8" status="noeggs"/> 
    <level number="9" status="locked"/> 
    <level number="10" status="locked"/> 
</pack> 

你知道嗎?

+2

我不知道,但嘗試添加根元素: Aleksandrs 2013-03-22 13:59:41

+0

YES !!!!是它!謝謝 :-) – 2013-03-22 14:08:10

回答

4

你的XML有結構性問題。每個xml文件必須只有一個根元素。這就是爲什麼XML讀取器只讀取第一個元素。你可以把你的xml內容放入根元素中。