gpt4 book ai didi

android - 如何使用 XmlResourceParser 访问子元素

转载 作者:太空狗 更新时间:2023-10-29 12:54:13 27 4
gpt4 key购买 nike

我创建了一个 XML 文件并将其放在我的“res”文件夹中。我决定使用 XmlResourceParser 来解析 XML 文件。

我的问题是,如何进入下一级别的元素?具体来说,如何访问子节点?

谢谢

我的 XML 文件如下所示:

<?xml version="1.0" encoding="UTF-8"?>
<encounters>
<creature id="1" type="humanoid" name="Jon" race="Human" gender="M" age="20" alignment="NE">
<appearance condition="ragged" skinColor="white" hairColor="brown" size="M" height="70" weight="170"></appearance>
<stats hp="20" ac="5" ap="5" mp="10" str="11" dex="15" int="15"></stats>
<inventory wp1="sword" wp2="knife" arm1="leather" arm2="bracers"></inventory>
<magic attSp1="fireball" attSp2="iceBall" defSp1="minor Shield" defSp2="major Shield"></magic>
<treasureItems gp="10" sp="25" item1="ring of protection + 1"></treasureItems>
</creature>
</encounters>

到目前为止,我的代码如下所示:

    //  ***** BEGIN XML PARSING ***** 
try {
while (xrp.getEventType() != XmlResourceParser.END_DOCUMENT) {
if (xrp.getEventType() == XmlResourceParser.START_TAG) {
String s = xrp.getName();

if (s.equals("creature")) {
encounterID = xrp.getAttributeResourceValue(null, "id", 0);
encounterType = xrp.getAttributeValue(null, "type");
encounterName = xrp.getAttributeValue(null, "name");
encounterRace = xrp.getAttributeValue(null, "race");
encounterGender = xrp.getAttributeValue(null, "gender");
encounterAge = xrp.getAttributeResourceValue(null, "age", 0);
encounterAlignment = xrp.getAttributeValue(null, "alignment");
}
}
}
} catch (XmlPullParserException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
// ***** END XML PARSING *****

最佳答案

以下是有关如何使用 XmlPullParser 的文档 documentation .

话虽如此,您想使用 xrp.next() 函数将解析器移动到下一个元素。这将按照它们出现的顺序循环遍历 XML 文档中的所有元素。如果您有子元素,解析器将在触及父元素的 START_TAG 之后到达那些子元素。

关于android - 如何使用 XmlResourceParser 访问子元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8576985/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com