xml – XPath – 节点()和文本()之间的差异
我无法理解text()和node()之间的区别。从我的理解,text()将是标签< item> apple< / item>在这种情况下是苹果。节点将是该节点实际上是什么,这将是项目
但是,我被分配了一些工作,它要求我“选择生产下所有项目的文本”,一个单独的问题询问“选择所有部门的所有经理节点” 输出如何看待text()而不是node() snip的XML <produce> <item>apple</item> <item>banana</item> <item>pepper</item> </produce> <department> <phone>123-456-7891</phone> <manager>John</manager> </department> 当然,有更多的部门和更多的经理,但这只是一小段代码。 任何帮助将非常感谢!
text()和node()是XPath术语(
compare)中的节点测试。
节点测试对一组(在axis,准确地)节点进行操作,并返回某种类型的节点。当未提及轴时,默认情况下采用子轴。 有各种node tests: > node()匹配任何节点(它们的最小特定节点test) 这个XML文档: <produce> <item>apple</item> <item>banana</item> <item>pepper</item> </produce> 表示以下DOM(简化): root node element node (name="produce") text node (value="n ") element node (name="item") text node (value="apple") text node (value="n ") element node (name="item") text node (value="banana") text node (value="n ") element node (name="item") text node (value="pepper") text node (value="n") 所以用XPath: > /选择根节点 等等。 所以,你的问题 >“选择生产下的所有项目的文本”/ produce / item / text()(选择3个节点) 笔记 > XPath中的默认轴是子轴。您可以通过为其他轴名称添加前缀来更改轴。例如:// item / ancestor :: produce (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- xml namespace in android
- swift #4 字典
- c排序指针错误的向量
- wince6.0 S5pv210 INand 代替Nandflash 后导致DM9000网卡无
- c# – 为什么写项目到控制台只写命名空间和类名而不是数据?
- 关于ajaxForm 和ckeditor连用可是提交的时候不能够获得cked
- Flash图表控件FusionCharts使用JavaScript渲染图表(不用Fl
- reactjs – 在反应引导输入组件上输入键事件处理程序
- PLSQL Developer连接远程Oracle数据库
- ruby-on-rails – 使用will_paginate的RESTful分页路由