XPath学习:parent,child

摘要:
XPath是一种在XML文档中查找信息的语言。XPath可用于遍历XML文档中的元素和属性。XPath是W3C XSLT标准的主要元素,XQuery和XPointer同时基于XPath表达式构建。推荐一个好的网站:http://www.zvon.org/xxl/XPathTutorial/General_chi/examples.html有一些很好的例子。在以下示例中,红色字体表示使用相应语法<AAA><BBB><DDD><CCC><DDD/><EEE/></CCC></DDD></BBB><CCC<DDD<EEE><DDD><FFF/></DDD></EEE/DDD>></EEE></DD></CCCC></AAA>获得的元素(或属性)

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>

免责声明:文章转载自《XPath学习:parent,child》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇Win7下安装配置IIS 构建自己的网站monaco代码编辑器下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

JAVA JSON解析:类XPATH解析JSON

目前JAVA解析JSON的方式有很多种,json-lib啊,GJSON啊,等等都可以解析,但通常是将JSON转换为对象或者是LIST或者是MAP,对于我们测试人员来说,其实我们并不需要里面的全部信息,一般情况下,我们只需检查里面的某个具体的值即可,听说JSONPATH可以做到,我没仔细看过JSONPATH,但是,我们测试人员对于XPATH来说,应该是很熟悉...

python爬虫数据解析之xpath

xpath是一门在xml文档中查找信息的语言。xpath可以用来在xml文档中对元素和属性进行遍历。 在xpath中,有7中类型的节点,元素,属性,文本,命名空间,处理指令,注释及根节点。 节点 首先看下面例子: <?xml version="1.0" encoding="ISO-8859-1"?> <bookstore> &l...

appium+selenium自动化测试UI踩坑记录之--判断元素是否存在

1.判断应用程序元素是否存在,之前使用的代码如下,但是页面跳转后,通过xpath查找信息能查找到跳转前页面的内容,造成信息判断不准确。 def isElementPresent(self, driver, xpath): # 从selenium.common.exceptions 模块导入 NoSuchElementExceptio...

python解析库之 XPath

1. XPath (XML Path Language) XML路径语言 2. XPath 常用规则:   nodename    选取此节点的所有子节点   /                    从当前结点选取直接子节点   //                   从当前结点选取子孙节点   .                    选取当前结点...

Selenium 2自动化测试实战7(定位元素)

一、xpath定位 1. 绝对定位 举例用百度输入框和搜索按钮 eg:find_element_by_xpath("/html/body/div/div[2]/div/div/div/from/span/input") eg:find_element_by_xpath("/html/body/div/div[2]/div/div/div/from/spa...

selenium自动化测试工具的使用总结

1、设置无头浏览器模式 from selenium import webdriver from selenium.webdriver.chrome.options import Options chrome_options = Options() chrome_options.add_argument('- -headless') chrome_opti...