如何使用Xpath Java从xml中获取元素

ChanGan:
<employees>
    <employee>
        <firstName>Lokesh</firstName>
        <lastName>Gupta</lastName>
        <department>
            <id>101</id>
            <name>IT</name>
        </department>
    </employee>
</employees>

我想使用Xpath获取元素名称。

我需要计数的元素,我使用获得的数量count(//employees/*)count(//employees/employee/department/*)

这是每个父母的返回计数。

我还需要获取元素名称,//employees/employee/*/name()以获取元素名称FirstName,LastName和Department。

(//employees/employee/department/*/name())返回名称和ID ..但是它显示错误javax.xml.transform.TransformerException: Unknown nodetype: name .

E.Wiest:

您想要获取元素名称(而不是其值)。name()必须出现在第一位。由于javax仅支持XPath 1.0,因此可以使用:

concat(name(//employees/employee/*[1]),",",name(//employees/employee/*[2]),",",name(//employees/employee/*[3]))

输出: firstName,lastName,department

concat(name(//employees/employee/department/*[1]),",",name(//employees/employee/department/*[2]))

输出: id,name

如果您不知道每个父元素的子代数,则应使用循环方法。首先,计算并存储child(count(//employees/employee/*)的数量,然后循环执行,[i]在每次迭代中增加位置索引(//employees/employee/*[i] i=i+1

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章