登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

涤心斋

淡泊以明志,宁静以致远!

 
 
 

日志

 
 

xml学习笔记(七)  

2008-02-26 18:56:18|  分类: 专业 |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |

  不得不说的一个问题,如果不说,可能会产生误会,xml的例子仍用前文的那个。如下XPath表达式,它所得到的XmlNodeList的Count是多少呢?

  /Forms/node()[2]/*  得到一个XmlNodeList,Count==4,而不是包括这些元素的子节点。

  这个问题很重要,如果*的结果真的包含了孙节点曾孙节点的话,那么程序员将很无奈。因为得到的结果鱼龙混杂。

  除了上面的问题,我总结一下一些常用的XPath:

  /Forms/*  选择Forms下的所有子元素节点,不包括孙子……

  /Forms/*/attribute::name        选择Forms下的所有子元素节点的name属性

  count(/Forms/*)       获得Forms下的所有子元素节点的个数

  /Forms/Form[@name='A']/* 选择Forms下有name属性且值为A的Form节点的所有子元素节点

  /Forms/node()[2]/text()   选择Forms下第二个节点下的所有文本节点

  /Forms/node()[2]/comment()  选择Forms下第二个节点下的所有注释节点

  /Forms/node()[2]/attribute() 选择Forms下第二个节点的所有属性节点

  老实说,平常要用到的xpath基本上就这么几个,没有多少,而复杂的我们平常都用不着。

  经我实验,上面的xpath都不选取非直系子节点。可以放心大胆了。当然,一些特殊的函数除外。

  评论这张
 
阅读(641)| 评论(0)

历史上的今天

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2018