表达式:Element database = (Element) root.selectSingleNode("//employee[@id='2']");
输出是:
名称:wTang2
年龄:20
高:180
表达式:Element database = (Element) root.selectSingleNode("/root/employee[1]");
输出是:
姓名:w唐
年龄:19
高:173
我们可以为id中的值做一个参数,封装成一个方法来调用外界。
// 表示文档中的节点是从与选择匹配的当前节点中选择的,无论其位置如何。
/ 表示从根节点开始选择。
@类似于jq的属性选择器,选择id=2的节点为2。
[1]表示获取employee的第一个元素,[2]表示获取第二个元素。
Xpath的语法灵活多变,仅此而已。 要读取单个节点,可以选择Xpath。
怀疑:
xPath似乎无法一次读取整个xml文件
例如:/root//员工
返回的是一个封装好的Listcocos xml 读取节点,长度为3
如果使用List进行嵌套,则List的长度应为2硬件设备,则需要嵌套2个List。
结果橙光游戏,只读取了 1 个员工(3 个节点)。 Xpath可能不支持批量读取。
如果可以的话,请告诉我。
Xpath语法官方文档:
哈利·波特
29.99
学习在线课程,掌握职场技能
39.95
选择节点
XPath 使用路径表达式来选择 XML 文档中的节点。 沿着路径或步骤选择节点。
下面列出了最有用的路径表达式:
表达
描述
节点名
选择该节点的所有子节点。
从根节点选择。
//
从与选择匹配的当前节点中选择文档中的节点,无论其位置如何。
选择当前节点。
..
选择当前节点的父节点。
选择属性。
例子
在下表中,我们列出了一些路径表达式及其结果:
路径表达式
结果
书店
选择 bookstore 元素的所有子节点。
/书店
选择根元素书店。
注意:如果路径以正斜杠(/)开头,则该路径始终表示元素的绝对路径!
书店/书
选择属于 bookstore 子级的所有书籍元素。
//书
选择所有书籍子元素,无论它们在文档中的位置如何。
书店//书
选择作为 bookstore 元素后代的所有 book 元素,无论它们在 bookstore 下方的位置如何。
//@郎
选择所有名为 lang 的属性。
谓词
谓词用于查找包含指定值的一个或多个特定节点。
谓词括在方括号内。
例子
在下表中,我们列出了一些带有谓词的路径表达式以及表达式的结果:
路径表达式
结果
/书店/书[1]
选择作为 bookstore 子元素的第一个 book 元素。
/书店/书[最后()]
选择作为 bookstore 子元素的最后一个 book 元素。
/书店/书[最后()-1]
选择作为 bookstore 子元素的倒数第二个书籍元素。
/书店/书[位置()
选择作为 bookstore 元素子级的前两个 book 元素。
//标题[@lang]
选择具有名为 lang 的属性的所有标题元素。
//标题[@lang='eng']
选择所有 lang 属性值为 eng 的标题元素。
/书店/书[价格>35.00]
选择bookstore元素的所有book元素,price元素的值必须大于35.00。
/书店/书[价格>35.00]/标题
选择bookstore元素中book元素的所有title元素,price元素的值必须大于35.00。
选择未知节点
XPath 通配符可用于选择未知的 XML 元素。
通配符
描述
匹配任意元素节点。
@*
匹配任意属性节点。
节点()
匹配任何类型的节点。
例子
在下表中cocos xml 读取节点,我们列出了一些路径表达式以及这些表达式的结果:
路径表达式
结果
/书店/*
选择 bookstore 元素的所有子元素。
//*
选择文档中的所有元素。
//标题[@*]
选择所有具有 title 属性的元素。
选择一些路径
您可以使用“|”选择多个路径路径表达式中的运算符。
例子
在下表中,我们列出了一些路径表达式以及这些表达式的结果:
路径表达式
结果
//书/书名 | //书/价格
选择书籍元素的所有标题和价格元素。
//标题| //价格
选择文档中的所有标题和价格元素。
/书店/书/标题 | //价格
选择属于 bookstore 元素的 book 元素的所有标题元素以及文档中的所有价格元素。
文章来源:http://www.open-open.com/lib/view/open1395387960728.html