我有一个由元素 xx 和 xxt 组成的 xml。每个 xxt 包含一个或多个 xx 元素。每个 xx 都有一个“cap”和“act”属性。我需要做的是将所有的 cap-act 值存储在一个地图中。
现在请注意,我的 xml 可以包含 0 或不定数量的 xxt。因此,这应该递归地完成。现在,我只是在没有 xxt 元素时进行了简单的解析:
for (Element element: (List<Element>) minfo.elements()) {
if (element.getName().equals("xx")) {
String cap = element.attributeValue("cap").trim();
String act = element.attributeValue("act").trim();
map.put(cap,act);
}
else if(element.getName().equals(xxt)){
//TODO recursive method
}
}
xml 的一个示例可能是这样的:
<xx cap="Min" act="act1"/>
<xx cap="Ver" act="asd" />
<xx cap="Tan" act="fw" />
<xxt id="PR" cap="A">
<xx cap="tY" act="ate" />
<xx cap="Tn" act="bga" />
<xx cap="Tn" act="sga" />
<xxt cap="an" act="y34" />
<xx cap="Miu" act="sahg"/>
</xxt>
</xxt>
<xx cap="Mzt" act="act1"/>