热门:网页模板.net视频教程JQueryMVCjsonExtJs源码示例三级联动JQuery菜单
您现在的位置:.Net中文社区>> XML编程>>正文内容

XPath学习:轴——descendant

发布时间:2010年06月01日点击数: 佚名

 XPath 是一门在 XML 文档中查找信息的语言。XPath 可用来在 XML 文档中对元素和属性进行遍历。
 XPath 是 W3C XSLT 标准的主要元素,并且 XQuery 和 XPointer 同时被构建于 XPath 表达之上。

XPath轴(XPath Axes)可定义某个相对于当前节点的节点集:
     1、child 选取当前节点的所有子元素
     2、parent 选取当前节点的父节点
     3、descendant 选取当前节点的所有后代元素(子、孙等)
     4、ancestor 选取当前节点的所有先辈(父、祖父等)
     5、descendant-or-self 选取当前节点的所有后代元素(子、孙等)以及当前节点本身
     6、ancestor-or-self 选取当前节点的所有先辈(父、祖父等)以及当前节点本身
     7、preceding-sibling 选取当前节点之前的所有同级节点
     8、following-sibling 选取当前节点之后的所有同级节点
     9、preceding 选取文档中当前节点的开始标签之前的所有节点
     10、following 选取文档中当前节点的结束标签之后的所有节点
     11、self 选取当前节点
     12、attribute 选取当前节点的所有属性
     13、namespace 选取当前节点的所有命名空间节点

     descendant选取当前节点的所有后代元素(包括子节点、子孙节点…),descendant (后代)轴包含上下文节点的后代,一个后代是指子节点或者子节点的子节点等等。
     /descendant::* 选择文档根元素的所有后代.即所有的元素被选择

  1. <AAA>   
  2.      <BBB>   
  3.           <DDD>   
  4.                <CCC>   
  5.                     <DDD/>   
  6.                     <EEE/>   
  7.                </CCC>   
  8.           </DDD>   
  9.      </BBB>   
  10.      <CCC>   
  11.           <DDD>   
  12.                <EEE>   
  13.                     <DDD>   
  14.                          <FFF/>   
  15.                     </DDD>   
  16.                </EEE>   
  17.           </DDD>   
  18.      </CCC>   
  19.    </AAA> 

  /AAA/BBB/descendant::* 选择/AAA/BBB的所有后代元素

  1. <AAA>   
  2.      <BBB>   
  3.           <DDD>   
  4.                <CCC>   
  5.                     <DDD/>   
  6.                     <EEE/>   
  7.                </CCC>   
  8.           </DDD>   
  9.      </BBB>   
  10.      <CCC>   
  11.           <DDD>   
  12.                <EEE>   
  13.                     <DDD>   
  14.                          <FFF/>   
  15.                     </DDD>   
  16.                </EEE>   
  17.           </DDD>   
  18.      </CCC>   
  19.   </AAA> 

 //CCC/descendant::* 选择所有CCC元素的所有后代元素

  1. <AAA>   
  2.      <BBB>   
  3.           <DDD>   
  4.                <CCC>   
  5.                     <DDD/>   
  6.                     <EEE/>   
  7.                </CCC>   
  8.           </DDD>   
  9.      </BBB>   
  10.      <CCC>   
  11.           <DDD>   
  12.                <EEE>   
  13.                     <DDD>   
  14.                          <FFF/>   
  15.                     </DDD>   
  16.                </EEE>   
  17.           </DDD>   
  18.      </CCC>   
  19.   </AAA> 

  //CCC/descendant::DDD 择所有以CCC为祖先元素的DDD元素

  1. <AAA>   
  2.      <BBB>   
  3.           <DDD>   
  4.                <CCC>   
  5.                     <DDD/>   
  6.                     <EEE/>   
  7.                </CCC>   
  8.           </DDD>   
  9.      </BBB>   
  10.      <CCC>   
  11.           <DDD>   
  12.                <EEE>   
  13.                     <DDD>   
  14.                          <FFF/>   
  15.                     </DDD>   
  16.                </EEE>   
  17.           </DDD>   
  18.      </CCC>   
  19.   </AAA> 

本站热点业务

更多模板/案例展示

热门推荐

关于我们 | 联系我们 | 团队日志 | 网站地图 | 网站合作