无法将属性添加到XML中的元素

时间:2016-05-20 12:17:31

标签: java xml xml-parsing attributes

我想在我的XML文件中向元素“testDetails”添加属性“driver”。我在XML中有很少的元素testDetails,我想将属性添加到最后一个。我创造了这个:

Element testDetails;        
NodeList findRootElementList = document.getElementsByTagName("testDetails");
int iterator = findRootElementList.getLength();
Node node = findRootElementList.item(iterator);
testDetails = (Element)node;
testDetails.setAttribute("driver", driver)

但变量testDetailsnull

时为testDetails.setAttribute("driver", driver);

但是当我之前有这个:

Element testSuite = null;       
        NodeList findRootElementList = document.getElementsByTagName("testSuite");
        for(int iterator = 0; iterator < findRootElementList.getLength(); iterator++) {
            Node node = findRootElementList.item(iterator);
            if(node.getNodeName().equals("testSuite")) {
                testSuite = (Element)node;
            }

此变量(此处称为testSuite)不为空,行testSuite = (Element)node;在这里工作正常。

这有什么区别?为什么不将node设置为testDetails

2 个答案:

答案 0 :(得分:1)

使用getLength() - 1作为索引为零,因此列表中的最后一项是例如5.有索引4。

答案 1 :(得分:-1)

list = len(list)的最后一个索引 - 1 因为索引以0开头,长度为1,如果是列表。