我正在编程一个简单的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