为了设置场景,我目前正在开发一个适用于 Android 的 XML 适配器,它将读取我收到的 XML 文件并将它们解析到数据库中。我以为我已经解决了这个问题,直到他们突然发现 XML 文件中的节点可能会因文件而异,所以我需要建立一种机制来处理丢失的变量。
最明显的解决方案是一个switch()
语句,但这不适用于字符串,所以我开始构建一个if-then-else
结构。这个想法是它会检查节点的名称,并据此确定如何处理它。很简单,不是吗?
问题是,无论我做什么,我似乎都无法从 XML 文件中提取我需要的节点的名称。XML文件的结构如下:
<Vehicle>
<Detail>
<VIN>BBB2791276393</VIN>
<RegNo>KN05EAP</RegNo>
<Doors>5</Doors>
</Detail>
</Vehicle>
我需要比较的是像“VIN”或“RegNo”这样的标签名称,但我想不出办法将它们拉出来。ETA:因为我没有说清楚,细节的子节点在 XML 文件之间发生变化,我必须在它们到来时处理它们......
我正在使用 DOM 解析器,并提取了一个NodeList
基于<Detail>
. NodeList.item(0)
给了我<Detail>
节点,但是如果我然后尝试将其分解(getChildNodes()
例如),我将无法获得<VIN>
or的标签名称<RegNo>
。事实上,我似乎无法为它们获得任何类型的参考,我可以使用它们来根据原始名称确定它是哪个节点。
有人有什么想法吗?