getTextContent()和item(0)在Java DOM API中返回什么?

时间:2014-04-07 09:59:25

标签: java xml dom

请解释使用java读取XML文件时使用的代码的以下行的含义。

NodeList lastNameList = firstPersonElement.getElementsByTagName("last");
long     NameElement  = (long)lastNameList.item(0).getTextContent();

getTextContent()的用途是什么,item(0)是什么用途?

3 个答案:

答案 0 :(得分:1)

NodeList lastNameList = firstPersonElement.getElementsByTagName("last");

firstPersonElement下找到名为last的所有后代元素(子元素,孙子元素等),并按文档顺序将它们返回为NodeList

lastNameList.item(0)

将是该列表中的第一个元素(将其视为数组索引,因此item(0)是列表中的第一个节点,item(1)是第二个节点,等等。和

lastNameList.item(0).getTextContent()

将是 String (不是long)值,其中包含此last元素下所有后代文本节点的串联。所以你的代码不应该编译,因为它不可能从String转换为long

答案 1 :(得分:0)

您只需检查正在解析的xml文件即可。应该有像

这样的东西
  

<last>textdata</last>

致电getTextContent()您正在访问textdata,通过致电item(0),您将获得具有此类名称的第一个可访问标记。

答案 2 :(得分:0)

NodeList旨在存储Nodes的有序集合。由于里面有多个项目,通过调用item(0),您可以从此集合中获取第一个项目(Node)(索引从零开始)。通过调用getTextContent,您将获得此节点及其后代的文本内容。