我正在編程一個簡單的Java遊戲,我想將玩家數據保存到XML編碼保存文件。目前我正在發現Java XML DOM API,並且有一個簡短的問題。Java XML:獲取嵌套元素
假設我有以下XML文件(沒有意義的,我知道,但它只是一個例子)
<?xml version="1.0"?>
<savedGame>
<name></name>
<player>
<name>YOU</name>
<map>
<health>2000</health>
<name>map_test.map</name>
<position>
<x>0</x>
<y>0</y>
</position>
</map>
<stats>
<health>1000</health>
<xp>
<melee></melee>
<magic></magic>
<ranged></ranged>
<agility></agility>
</xp>
</stats>
<items>
<item id="0">
<amount></amount>
</item>
</items>
</player>
</savedGame>
現在我想要得到的球員健康水平(注意,是其他健康元素在地圖部分)。這可以用下面的代碼完成:
String hp = ((Element) ((Element) savedGameDocument.getElementsByTagName("player").item(0)).getElementsByTagName("stats").item(0)).getElementsByTagName("health").item(0).getTextContent()
它的作品,是的。但是對我來說這看起來很骯髒。這是獲取這些嵌套元素的常用方法嗎?爲什麼沒有ElementList類?現在我必須投擲每個節點。
在此先感謝, Jori。
訪問數據看看JAXB。它允許您使用yourjava對象模型,並接管序列化爲XML。 – nakosspy 2013-05-10 10:24:54
非常感謝,我會看看它。但是,如果這是用普通的Java XML API來完成的最好方法,那我也很高興。 – Jori 2013-05-10 10:30:42
JAXB(JSR-222)是包含在JDK/JRE中的普通Java XML API的一部分(參見'javax.xml.bind'包)。 – 2013-05-10 11:09:21