我试图通过从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。在进行一些调试时,它似乎具有所有值:
我认为在获取值之前必须对“this $ 0”引用做一些事情,因为如果我执行NodeMap的getLength,它会返回0.有什么想法如何解决这个问题?非常感谢大家!
答案 0 :(得分:0)
您正在通过调用nodeList.item(i).getAttributes();
答案 1 :(得分:0)
您是否考虑过使用JAXB?
您可以创建Java对象并让JAXB加载XML文件并以这种方式遍历树。您甚至可以从XSD自动创建Java对象(如果有的话)。