节点列表和NodeMaps上的Noob问题

时间:2011-02-07 17:16:26

标签: java

我试图通过从NodeList搜索特定节点来从解析的XML文件中提取元素。这是我用来迭代多个父代的以下代码:

Node node;
NodeList nodeList = document.getElementsByTagName("SomeTag");
for (int i = 0; i < nodeList.getLength(); i++)
{
     NamedNodeMap map = nodeList.item(i).getAttributes();
     node = map.getNamedItem("AnotherTag")
}

但是,我的节点总是返回null。在进行一些调试时,它似乎具有所有值: enter image description here

我认为在获取值之前必须对“this $ 0”引用做一些事情,因为如果我执行NodeMap的getLength,它会返回0.有什么想法如何解决这个问题?非常感谢大家!

2 个答案:

答案 0 :(得分:0)

您正在通过调用nodeList.item(i).getAttributes();

来访问元素的属性,而不是其子节点

答案 1 :(得分:0)

您是否考虑过使用JAXB?

您可以创建Java对象并让JAXB加载XML文件并以这种方式遍历树。您甚至可以从XSD自动创建Java对象(如果有的话)。