关于node类

来源:3-8 XPath实验室

慕无忌8417539

2020-04-22 17:28:11

课程里说node节点是element和Attribute的父类,因为后面有Attribute,所以用node,可是我看下面取属性的时候,也是通过element.attributeValue("id")获取的,根本没用到Attribute啊,所以这里不用node用Element是不是也可以?

for(Node node:nodes) {

Element element=(Element)node;

System.out.println(element.attributeValue("id"));

System.out.println(element.elementText("exam-form"));

写回答

1回答

好帮手慕阿慧

2020-04-22

同学你好,
1、由于selectNodes()方法返回的是List<Node>对象,所以我们只能用List<Node>类型的变量接收,遍历集合的时候将Node对象强制转换为Element对象。
2、在for循环中将Node对象强制转换为Element对象是因为使用XPath获取的是节点。
如果选择所有的<employee>元素的no属性,XPath获取的是属性,则会用到Attribute对象。
如:
http://img.mukewang.com/climg/5ea0234f09d1b15307220540.jpg

Element指的是节点,Attribute是某个元素属性的值。用的场景不同。

如果我的回答解决了你的疑惑,请采纳!祝学习愉快!

0

0 学习 · 9666 问题

查看课程