dom4J:如何获得节点元素的价值?

时间:2011-10-13 07:21:42

标签: java dom4j

我正在使用dom4j读取XML,使用XPath技术来选择所需的节点。考虑一下我的XML看起来像这样:

<Employees>
    <Emp id=1>
        <name>jame</name>
        <age>12</age>
    </Emp>
    .
    .
    .
</Employees> 

现在我需要将所有员工的信息存储在我的员工类列表中。直到我编码以下内容:

List<? extends Node> lstprmntEmps = document.selectNodes("//Employees/Emp");
ArrayList<Employee> Employees = new ArrayList<Employee>();//Employee is my custom class
for (Node node : lstprmntEmps)
{  
Employees.add(ParseEmployee(node));//ParseEmployee(. . .) is my custom function that pareses emp XML and return Employee object
}

现在我如何获得当前所选节点的名称和年龄? 是否存在任何此类方法node.getElementValue("name");

1 个答案:

答案 0 :(得分:3)

将每个节点转换为Element,然后向元素询问其第一个“name”子元素及其第一个“age”子元素并获取其文本。

请参阅http://dom4j.sourceforge.net/apidocs/org/dom4j/Element.html

elementText(String)的{​​{1}}方法可能会按名称获取子元素并在一次操作中检索其文本,但它没有文档记录,因此很难说。

请注意,变量和方法应始终以Java中的小写字母开头。