2012-04-04 3 views
1

Я новичок в XML и имею XML-файл с корневыми и дочерними и дочерними тегами. Для одного из дочерних тегов «Phone» у меня есть следующее реализация на Java с использованием DOM API. Мой вопрос в том, что последние две строки кода печатают один и тот же результат. В одном случае я извлекаю содержимое с помощью Element, а в другом случае его извлекает функция getNodeValue NodeList. Реализация тегаРазница между Element :: textContent и NodeList :: item :: getNodeValue

NodeList phoneNodeList = document.getElementsByTagName("Phone"); 
Node firstPhoneNode = phoneNodeList.item(0); 
System.out.println (phoneNodeList.getLength()); 
Element phoneNodeElement = (Element) firstPhoneNode; 
NodeList phoneList = phoneNodeElement.getElementsByTagName("Type"); 
Element phoneTypeElement = (Element) phoneList.item(0); 
NodeList phoneType = phoneTypeElement.getChildNodes(); 
System.out.println ("NodeName : " + phoneTypeElement.getNodeName()); 
System.out.println ("Text Content : " + phoneTypeElement.getTextContent()); 
System.out.println ("Phone : " + phoneType.item(0).getNodeValue()); 

Телефон выглядит что-то вроде этого в XML

<Phone> 
<Type>work</Type> 
<Value>2222</Value> 
</Phone> 

<Phone> 
</Phone> 

<Phone> 
</Phone> 

<Phone> 
<Type>mobile</Type> 
<Value>1111</Value> 
</Phone> 

ответ