XPath学习:parent,child

XPath 是一门在 XML 文档中查找信息的语言。XPath 可用来在 XML 文档中对元素和属性进行遍历。

XPath 是 W3C XSLT 标准的主要元素,并且 XQuery 和 XPointer 同时被构建于 XPath 表达之上。

推荐一个挺不错的网站:http://www.zvon.org/xxl/XPathTutorial/General_chi/examples.html  里面有很不错的例子,下面的例子中红色字体表示使用对应语法获取的元素(或属性)。

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 选取当前节点的所有命名空间节点

parent轴是选取当前节点父节点,下面看简单示例:

//DDD/parent::*     获取所有节点DDD的父节点

<AAA>

<BBB>  
          <DDD>  
               <CCC>  
                    <DDD/>  
                    <EEE/>  
               </CCC>  
          </DDD>  
     </BBB>  
     <CCC>  
          <DDD>  
               <EEE>  
                    <DDD>  
                         <FFF/>  
                    </DDD>  
               </EEE>  
          </DDD>  
     </CCC>  
  </AAA>

/AAA/BBB/parent::*    得到根节点AAA,这样写在实际中没有意义。

<AAA>  
     <BBB>  
          <DDD>  
               <CCC>  
                    <DDD/>  
                    <EEE/>  
               </CCC>  
          </DDD>  
     </BBB>  
     <CCC>  
          <DDD>  
               <EEE>  
                    <DDD>  
                         <FFF/>  
                    </DDD>  
               </EEE>  
          </DDD>  
     </CCC>  
  </AAA>

/AAA/parent::*     根节点无法获取到parent

<AAA>  
     <BBB>  
          <DDD>  
               <CCC>  
                    <DDD/>  
                    <EEE/>  
               </CCC>  
          </DDD>  
     </BBB>  
     <CCC>  
          <DDD>  
               <EEE>  
                    <DDD>  
                         <FFF/>  
                    </DDD>  
               </EEE>  
          </DDD>  
     </CCC>  
  </AAA>

时间: 2024-07-29 10:47:33

XPath学习:parent,child的相关文章

HtmlAgilityPackage XPath学习

原文:HtmlAgilityPackage XPath学习 最近的开发中要用到htmlAgilityPackage, 所以记录一下XPath相关知识! XPath 简介 XPath 是一门在 XML 文档中查找信息的语言.XPath 可用来在 XML 文档中对元素和属性进行遍历.XPath 是 W3C XSLT 标准的主要元素,并且 XQuery 和 XPointer 同时被构建于 XPath 表达之上.因此,对 XPath 的理解是很多高级 XML 应用的基础. 其实对些我们并不陌生,最与XP

[NHibernate]Parent/Child

系列文章 [Nhibernate]体系结构 [NHibernate]ISessionFactory配置 [NHibernate]持久化类(Persistent Classes) [NHibernate]O/R Mapping基础 [NHibernate]集合类(Collections)映射  [NHibernate]关联映射 引言 刚刚接触NHibernate的人大多是从父子关系(parent/child type relationship)的建模入手的.父子关系的建模有两种方法.比较简便.直观

XPath学习:轴(3)——descendant

转自:http://www.cnblogs.com/zhaozhan/archive/2009/09/10/1563723.html 感谢无风 XPath 是一门在 XML 文档中查找信息的语言.XPath 可用来在 XML 文档中对元素和属性进行遍历. XPath 是 W3C XSLT 标准的主要元素,并且 XQuery 和 XPointer 同时被构建于 XPath 表达之上. 推荐一个挺不错的网站:http://www.zvon.org/xxl/XPathTutorial/General_

XML Xpath学习

Xpath是一门在xml文档中查找信息的语言. Xpath可用来在xml文档中对元素和属性进行遍历. <1>路径表达式1: 斜杠(/)作为路径内部的分隔符 同一个路径有绝对路径和相对路径两种写法 绝对路径:必须用"/"起首,后面紧跟根节点.如/step/setp 相对路径:不用"/"起首.如step/step "."表示当前节点 ".."表示当前路径的父节点 <2>路径表达式2: nodename(节点

xpath学习笔记

符号. //表示当前节点.. //父节点/ //根目录// //节点下的任意位置 高级应用:"ul//em" 表示ul节点下任意位置的em@ //含某属性的节点 //@title 那么 <li class='a' title='1'>满足 和其他组合在一起就报错| //a|b 选择a和b元素* //所有节点node() //所有节点 还包含里面的值 比如<i>1</i> 1也是一个对象元素 这是和*的不同之处text() //所有文字节点 node(

xpath 学习

[java] view plaincopy import java.io.IOException; import javax.xml.parsers.*; import javax.xml.xpath.*; import org.w3c.dom.*; import org.xml.sax.SAXException; public class XpathTest { public static void main(String[] args) throws ParserConfigurationE

scrapy爬虫必需品--------xpath学习

XPath 路径表达式 XPath 使用路径表达式来选取 XML 文档中的节点或者节点集.这些路径表达式和我们在常规的电脑文件系统中看到的表达式非常相似.节点是通过沿着路径 (path) 或者步 (steps) 来选取的. 节点 在 XPath 中,有七种类型的节点:元素.属性.文本.命名空间.处理指令.注释以及文档(根)节点.XML 文档是被作为节点树来对待的.树的根被称为文档节点或者根节点. 请看下面这个 XML 文档: <?xml version="1.0" encodin

XPath学习

一.基本语法 1.以 / 斜线开始,该路径表示到一个元素下的绝对路径 2.如果路径以双斜线 // 开头, 则表示选择文档中所有满足双斜线//之后规则的元素(无论层级关系) 3.星号 * 表示选择所有由星号之前的路径所定位的元素(/AAA/BBB/DDD/* 选择AAA/BBB/DDD下的所有元素:/*/*/*/BBB选择第四层级为BBB的所有元素) 4.[]和last() 方块号里的表达式可以进一步的指定元素, 其中数字表示元素在选择集里的位置, 而last()函数则表示选择集中的最后一个元素.

python+selenium元素定位之XPath学习01

参考文档1:https://www.w3school.com.cn/xpath/xpath_syntax.asp 参考文档2:https://www.runoob.com/xpath/xpath-tutorial.html XML 实例文档 我们将在下面的例子中使用这个 XML 文档: <?xml version="1.0" encoding="ISO-8859-1"?> <bookstore> <book> <title