我是XML的新手,并且拥有一个带有root和子子标签的XML文件。对于其中一个子标签名称“Phone”,我使用DOM API在Java中实现了以下实现。我的问题是代码的最后两行打印相同的结果。在一种情况下,我使用Element检索内容,而在另一种情况下,它由NodeList函数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());
Phone标签实现在XML
中看起来像这样<Phone>
<Type>work</Type>
<Value>2222</Value>
</Phone>
<Phone>
</Phone>
<Phone>
</Phone>
<Phone>
<Type>mobile</Type>
<Value>1111</Value>
</Phone>
答案 0 :(得分:1)
<Type>
元素中的文字本身是Node
,类型为TEXT
,其值为mobile
。这就是DOM的工作原理。这个页面解释了一点:http://docs.oracle.com/javase/tutorial/jaxp/dom/when.html