2016-05-20 3 views
0

Я хочу добавить атрибут «драйвер» к элементу «testDetails» в свой XML-файл. У меня есть несколько элементов testDetails в XML, и я хочу добавить атрибут к последнему. Я создал это:Невозможно добавить атрибут к элементу в XML

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

;

Но переменная testDetails является null на 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?

+0

использовать 'findRootElementList.item (iterator-1)' – Mubin

ответ

1

Использовать getLength() - 1, поскольку индекс равен нулю, поэтому последний элемент в списке, например. 5. имеет индекс 4.

+0

Вы правы! Спасибо! –

-1

Последний индекс списка = len (список) - 1 Поскольку индекс начинается с 0 и длиной с 1 в случае списка.

Смежные вопросы