精华内容
下载资源
问答
  • xpath路径表达式
    2021-05-01 11:27:10

    简单说,xpath就是选择XML文件中节点的方法。

    所谓节点(node),就是XML文件的最小构成单位,一共分成7种。

    - element(元素节点)

    - attribute(属性节点)

    - text (文本节点)

    - namespace (名称空间节点)

    - processing-instruction (处理命令节点)

    - comment (注释节点)

    - root (根节点)

    xpath可以用来选择这7种节点。不过,下面的笔记只涉及最常用的第一种element(元素节点),因此可以将下文中的节点和元素视为同义词。

    一、xpath表达式的基本格式

    xpath通过"路径表达式"(Path Expression)来选择节点。在形式上,"路径表达式"与传统的文件系统非常类似。# 斜杠(/)作为路径内部的分割符。

    # 同一个节点有绝对路径和相对路径两种写法。

    # 绝对路径(absolute path)必须用"/"起首,后面紧跟根节点,比如/step/step/...。

    # 相对路径(relative path)则是除了绝对路径以外的其他写法,比如 step/step,也就是不使用"/"起首。

    # "."表示当前节点。

    # ".."表示当前节点的父节点

    二、选择节点的基本规则

    - nodename(节点名称):表示选择该节点的所有子节点

    - "/":表示选择根节点

    - "//":表示选择任意位置的某个节点

    - "@": 表示选择某个属性

    三、选择节点的实例

    先看一个XML实例文档。

    Harry Potter

    29.99

    Learning XML

    39.95

    [例1]

    bookstore :选取 bookstore 元素的所有子节点。

    [例2]

    /bookstore :选取根节点bookstore,这是绝对路径写法。

    [例3]

    bookstore/book :选取所有属于 bookstore 的子元素的 book元素,这是相对路径写法。

    [例4]

    //book :选择所有 book 子元素,而不管它们在文档中的位置。

    [例5]

    bookstore//book :选择所有属于 bookstore 元素的后代的 book 元素,而不管它们位于 bookstore 之下的什么位置。

    [例6]

    //@lang :选取所有名为 lang 的属性。

    四、xpath的谓语条件(Predicate)

    所谓"谓语条件",就是对路径表达式的附加条件。

    所有的条件,都写在方括号"[]"中,表示对节点进行进一步的筛选。

    [例7]

    /bookstore/book[1] :表示选择bookstore的第一个book子元素。

    [例8]

    /bookstore/book[last()] :表示选择bookstore的最后一个book子元素。

    [例9]

    /bookstore/book[last()-1] :表示选择bookstore的倒数第二个book子元素。

    [例10]

    /bookstore/book[position()<3] :表示选择bookstore的前两个book子元素。

    [例11]

    //title[@lang] :表示选择所有具有lang属性的title节点。

    [例12]

    //title[@lang='eng'] :表示选择所有lang属性的值等于"eng"的title节点。

    [例13]

    /bookstore/book[price] :表示选择bookstore的book子元素,且被选中的book元素必须带有price子元素。

    [例14]

    /bookstore/book[price>35.00] :表示选择bookstore的book子元素,且被选中的book元素的price子元素值必须大于35。

    [例15]

    /bookstore/book[price>35.00]/title :表示在例14结果集中,选择title子元素。

    [例16]

    /bookstore/book/price[.>35.00] :表示选择值大于35的"/bookstore/book"的price子元素。

    五、通配符

    # "*"表示匹配任何元素节点。

    # "@*"表示匹配任何属性值。

    # node()表示匹配任何类型的节点。

    [例17]

    //* :选择文档中的所有元素节点。

    [例18]

    /*/* :表示选择所有第二层的元素节点。

    [例19]

    /bookstore/* :表示选择bookstore的所有元素子节点。

    [例20]

    //title[@*] :表示选择所有带有属性的title元素。

    六、选择多个路径

    用"|"选择多个并列的路径。

    [例21]

    //book/title | //book/price :表示同时选择book元素的title子元素和price子元素。

    【相关文章】

    (完)

    更多相关内容
  • XPath 路径表达式

    2020-01-02 12:14:12
    XPath 使用路径表达式来选取 XML 文档中的节点或节点集。节点是通过沿着路径 (path) 或者步 (steps) 来选取的。 XML 实例文档 我们将在下面的例子中使用这个 XML 文档。 <?xml version="1.0" encoding="ISO-...

    XPath 使用路径表达式来选取 XML 文档中的节点或节点集。节点是通过沿着路径 (path) 或者步 (steps) 来选取的。

    XML 实例文档

    我们将在下面的例子中使用这个 XML 文档。

    <?xml version="1.0" encoding="ISO-8859-1"?>
    
    <bookstore>
    
    <book>
      <title lang="eng">Harry Potter</title>
      <price>29.99</price>
    </book>
    
    <book>
      <title lang="eng">Learning XML</title>
      <price>39.95</price>
    </book>
    
    </bookstore>

    选取节点

    XPath 使用路径表达式在 XML 文档中选取节点。节点是通过沿着路径或者 step 来选取的。

    下面列出了最有用的路径表达式:

    表达式描述
    nodename选取此节点的所有子节点。
    /从根节点选取。
    //从匹配选择的当前节点选择文档中的节点,而不考虑它们的位置。
    .选取当前节点。
    ..选取当前节点的父节点。
    @选取属性。

    实例

    在下面的表格中,我们已列出了一些路径表达式以及表达式的结果:

    路径表达式结果
    bookstore选取 bookstore 元素的所有子节点。
    /bookstore

    选取根元素 bookstore。

    注释:假如路径起始于正斜杠( / ),则此路径始终代表到某元素的绝对路径!

    bookstore/book选取属于 bookstore 的子元素的所有 book 元素。
    //book选取所有 book 子元素,而不管它们在文档中的位置。
    bookstore//book选择属于 bookstore 元素的后代的所有 book 元素,而不管它们位于 bookstore 之下的什么位置。
    //@lang选取名为 lang 的所有属性。

    谓语(Predicates)

    谓语用来查找某个特定的节点或者包含某个指定的值的节点。

    谓语被嵌在方括号中。

    实例

    在下面的表格中,我们列出了带有谓语的一些路径表达式,以及表达式的结果:

    路径表达式结果
    /bookstore/book[1]选取属于 bookstore 子元素的第一个 book 元素。
    /bookstore/book[last()]选取属于 bookstore 子元素的最后一个 book 元素。
    /bookstore/book[last()-1]选取属于 bookstore 子元素的倒数第二个 book 元素。
    /bookstore/book[position()<3]选取最前面的两个属于 bookstore 元素的子元素的 book 元素。
    //title[@lang]选取所有拥有名为 lang 的属性的 title 元素。
    //title[@lang='eng']选取所有 title 元素,且这些元素拥有值为 eng 的 lang 属性。
    /bookstore/book[price>35.00]选取 bookstore 元素的所有 book 元素,且其中的 price 元素的值须大于 35.00。
    /bookstore/book[price>35.00]/title选取 bookstore 元素中的 book 元素的所有 title 元素,且其中的 price 元素的值须大于 35.00。

    选取未知节点

    XPath 通配符可用来选取未知的 XML 元素。

    通配符描述
    *匹配任何元素节点。
    @*匹配任何属性节点。
    node()匹配任何类型的节点。

    实例

    在下面的表格中,我们列出了一些路径表达式,以及这些表达式的结果:

    路径表达式结果
    /bookstore/*选取 bookstore 元素的所有子元素。
    //*选取文档中的所有元素。
    //title[@*]选取所有带有属性的 title 元素。

    选取若干路径

    通过在路径表达式中使用“|”运算符,您可以选取若干个路径。

    实例

    在下面的表格中,我们列出了一些路径表达式,以及这些表达式的结果:

    路径表达式结果
    //book/title | //book/price选取 book 元素的所有 title 和 price 元素。
    //title | //price选取文档中的所有 title 和 price 元素。
    /bookstore/book/title | //price选取属于 bookstore 元素的 book 元素的所有 title 元素,以及文档中所有的 price 元素。
    展开全文
  • 什么是Xpath路径表达式 Xpath路径表达式是XML文档中查询数据的语言 掌握XPath可以极大的提高提取数据时的开发效率 学习XPath本质就是掌握各种形式的表达式的使用技巧 Xpath基本表达式 最常用的基本表达式 有...

    什么是Xpath路径表达式

    • Xpath路径表达式是XML文档中查询数据的语言
    • 掌握XPath可以极大的提高提取数据时的开发效率
    • 学习XPath本质就是掌握各种形式的表达式的使用技巧

    Xpath基本表达式

    • 最常用的基本表达式

    有如下示例:

     

    • Xpath谓语表达式

    在基本表达式之上增加了其他的选择条件:

    Jaxen

    jaxen是一个java编写的开源的XPath库。这里适应多种不同的对象模型,包括DOM, XOM, dom4j和JDOM, Dom4j的底层依赖Jaxen实现Xpath查询,所以在使用Xpath进行XML查询的时候,我们需要首先进行Jaxen的安装。百度搜索jaxen,下载jar包,将其导入到Reference Libraries中。

    下面是使用dom4j进行xpath操作。xml文件为这篇博客里的xml文件

    import java.util.List;
    import org.dom4j.Document;
    import org.dom4j.DocumentException;
    import org.dom4j.Element;
    import org.dom4j.Node;
    import org.dom4j.io.SAXReader;
    
    public class XPathTensor {
    	public void xpath(String xpathExp) {
    		String file = "。。。。。。。。。。。。。";
    		SAXReader reader = new SAXReader();
    		try {
    			Document document = reader.read(file);
    			List<Node> nodes = document.selectNodes(xpathExp);
    			for (Node node : nodes) {
    				Element emp = (Element) node;
    				System.out.println(emp.elementText("name"));
    				System.out.println(emp.elementText("age"));
    				System.out.println(emp.elementText("salary"));
    				System.out.println("=======================");
    			}
    		} catch (DocumentException e) {
    			e.printStackTrace();
    		}
    	}
    
    	public static void main(String[] args) {
    		XPathTensor xt = new XPathTensor();
    		xt.xpath("/hr/employee");
    		xt.xpath("//employee");
    		xt.xpath("//employee[salary<8000]");
    
    	}
    
    }

     

    展开全文
  • xpath路径表达式

    2019-07-27 02:38:00
    xpath通过"路径表达式"(Path Expression)来选择节点。在形式上,"路径表达式"与传统的文件系统非常类似。 # 斜杠(/)作为路径内部的分割符。# 同一个节点有绝对路径和相对路径两种写法。# 绝对路径...

    一xpath表达式的基本格式

    xpath通过"路径表达式"(Path Expression)来选择节点。在形式上,"路径表达式"与传统的文件系统非常类似。

     

    # 斜杠(/)作为路径内部的分割符。

    # 同一个节点有绝对路径和相对路径两种写法。

    # 绝对路径(absolute path)必须用"/"起首,后面紧跟根节点,比如/step/step/...。

    # 相对路径(relative path)则是除了绝对路径以外的其他写法,比如 step/step,也就是不使用"/"起首。

    # "."表示当前节点。

    # ".."表示当前节点的父节点

    二、选择节点的基本规则

    - nodename(节点名称):表示选择该节点的所有子节点

    - "/":表示选择根节点

    - "//":表示选择任意位置的某个节点

    - "@": 表示选择某个属性

    三、选择节点的实例

    先看一个XML实例文档。

    <?xml version="1.0" encoding="ISO-8859-1"?>

    <bookstore>

      <book>
        <title lang="eng">Harry Potter</title>
        <price>29.99</price>
      </book>

      <book>
        <title lang="eng">Learning XML</title>
        <price>39.95</price>
      </book>

    </bookstore>

    [例1]

    bookstore :选取 bookstore 元素的所有子节点。

    [例2]

    /bookstore :选取根节点bookstore,这是绝对路径写法。

    [例3]

    bookstore/book :选取所有属于 bookstore 的子元素的 book元素,这是相对路径写法。

    [例4]

    //book :选择所有 book 子元素,而不管它们在文档中的位置。

    [例5]

    bookstore//book :选择所有属于 bookstore 元素的后代的 book 元素,而不管它们位于 bookstore 之下的什么位置。

    [例6]

    //@lang :选取所有名为 lang 的属性。

    四、xpath的谓语条件(Predicate)

    所谓"谓语条件",就是对路径表达式的附加条件。

    所有的条件,都写在方括号"[]"中,表示对节点进行进一步的筛选。

    [例7]

    /bookstore/book[1] :表示选择bookstore的第一个book子元素。

    [例8]

    /bookstore/book[last()] :表示选择bookstore的最后一个book子元素。

    [例9]

    /bookstore/book[last()-1] :表示选择bookstore的倒数第二个book子元素。

    [例10]

    /bookstore/book[position()<3] :表示选择bookstore的前两个book子元素。

    [例11]

    //title[@lang] :表示选择所有具有lang属性的title节点。

    [例12]

    //title[@lang='eng'] :表示选择所有lang属性的值等于"eng"的title节点。

    [例13]

    /bookstore/book[price] :表示选择bookstore的book子元素,且被选中的book元素必须带有price子元素。

    [例14]

    /bookstore/book[price>35.00] :表示选择bookstore的book子元素,且被选中的book元素的price子元素值必须大于35。

    [例15]

    /bookstore/book[price>35.00]/title :表示在例14结果集中,选择title子元素。

    [例16]

    /bookstore/book/price[.>35.00] :表示选择值大于35的"/bookstore/book"的price子元素。

    五、通配符

    # "*"表示匹配任何元素节点。

    # "@*"表示匹配任何属性值。

    # node()表示匹配任何类型的节点。

    [例17]

    //* :选择文档中的所有元素节点。

    [例18]

    /*/* :表示选择所有第二层的元素节点。

    [例19]

    /bookstore/* :表示选择bookstore的所有元素子节点。

    [例20]

    //title[@*] :表示选择所有带有属性的title元素。

    六、选择多个路径

    用"|"选择多个并列的路径。

    [例21]

    //book/title | //book/price :表示同时选择book元素的title子元素和price子元素。

    转载于:https://www.cnblogs.com/kinblog/p/11253674.html

    展开全文
  • XPath路径表达式

    千次阅读 2017-08-23 07:14:13
    XPath是万维网联盟(W3C)的官方推荐。它定义了一个语言在XML文件中查找信息。它被用于遍历XML文档的元素和属性。 XPath提供各种类型,可用于从XML...路径表达式 - XPath提供了强大的路径表达式选择的节点或在XML文档
  • Xpath路径表达式

    2021-01-25 15:38:56
    Xpath路径表达式:XML文档查找数据的语言 (参考:http://www.ruanyifeng.com/blog/2009/07/xpath_path_expressions.html) 基本表达式: nodename(节点名称):表示选择该节点的所有子节点 "/":表示选择根...
  • XPath路径表达式详解

    2009-07-01 14:35:21
    经常在工作中会使用到XPath的相关知识,但每次总会在一些关键的地方不记得或不太清楚,所以免不了每次总要查一些零碎的知识,感觉即很烦又浪费时间,所以对XPath归纳及总结一下
  • 1、xpath路径表达式1.1、什么是Xpath路径表达式:Xpath即为XML路径语言,它是一种用来(标准通用标记语言的子集)在 HTMLXML 文档中查找信息的语言xpath路径表达式用来在一个web页面中定位、查找元素在自动化测试里,...
  • XPATH路径表达式

    2021-05-01 11:25:53
    XPath 节点(Node)在 XPath 中,有七种类型的节点:元素、属性、文本、命名空间、处理指令、注释以及文档节点(或称为根节点)节点关系:父(Parent:每个元素以及属性都有一个父)子(Children:元素节点可有零个、一个或...
  • xpath 路径表达式

    2015-05-28 10:38:44
    xpath路径表达式笔记 作者: 阮一峰 日期: 2009年7月 6日 简单说,xpath就是选择XML文件中节点的方法。 所谓节点(node),就是XML文件的最小构成单位,一共分成7种。 - element(元素节点) - ...
  • 学习笔记 编辑器:Sublime ... 上一篇:初识Xpath之Node节点 文章目录Xpath路径表达式绝对路径和相对路径定位步与节点集轴及缩写...一个Xpath路径表达式由若干个"定位步"构成,一个Xpath路径表达式将返回一个节点集...
  • xpath路径表达式笔记 作者: 阮一峰 日期: 2009年7月 6日 简单说,xpath就是选择XML文件中节点的方法。 所谓节点(node),就是XML文件的最小构成单位,一共分成7种。 - ...
  • 简单说,xpath就是选择XML文件中节点的方法。 所谓节点(node),就是XML文件的最小构成单位,一共分成7种。 - element(元素节点)- attribute(属性节点)- text (文本节点)- namespace (名称空间节点)-...
  • 来源 ...简单说,Xpath就是选择XML文件中节点的方法。 所谓节点(node),就是XML文件的最小构成单位,一共分成7种。 element(元素节点) attribute(属性节点) text (文本节点) names...
  • 问题引入:把工资大于3000的员工提取出来;...(2)XPath谓语表达式:在基本表达式的基础上,增加了额外的约束条件 2.在使用Dom4j,利用XPath查询时候,必须要先下载Jaxen的jar包; 二:XPath示例程序 1.准备的XML:
  • XPath 常用表达式

    2021-05-01 11:26:55
    XML 实例文档Harry Potter29.99Learning XML39.95选取节点XPath 使用路径表达式在 XML 文档中选取节点。节点是通过沿着路径或者 step 来选取的。下面列出了最有用的路径表达式:表达式 描述nodename 选取此节点的...
  • chropath 自动生成xpath路径表达式

    千次阅读 2019-11-07 21:27:08
    如图所示,操作非常简单,注意安装后重启chrome 表达式会被直接复制到剪贴板,复制过程浏览器不会有什么变化,为了更直观地感受复制结果,图中加了一个文本框 ...
  • XPath表达式

    千次阅读 2019-10-04 11:57:10
    XPath路径表达式 作用:在DOM解析XML时,通过XPath表达让解析更加简单 XPath表达式分类 绝对路径 相对路径 全文搜索 属性查找 什么是Node对象 DOM树中的每个节点就是Node dom4j中与XPath相关的方法 注:使用...
  • Xpath——路径表达式

    千次阅读 2017-04-03 15:48:56
     我们在使用Xpath的时候,是先将XML抽象成一种树形结构,一层一层向下,Xpath是基于此的,在实际使用Xpath过程中会发现其使用方式很像我们在平常使用的路径表达式。    2. Xpath中的节点  在X
  • 通过XPath可以很方便对XML文档进行遍历。 具体方式包括: 以如下XML文档为例: ...bookstore为根节点,其子节点为book,book的子节点包括:title和price,title包含属性lang...XPath 使用路径表达式在 XML 文档中选

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 18,045
精华内容 7,218
关键字:

xpath路径表达式

友情链接: fdfg1 (6).rar