zoukankan      html  css  js  c++  java
  • 从 XML 到 XPath

    XPath是 W3C(World Wide Website Consortium) 的一个标准。它最主要的目的是为了在 XML1.0 或 XML1.1 文档节点树中定位节点所设计。

    XPath 即为 XML 路径语言,它是一种用来确定 XML(标准通用标记语言的子集,XML:Extensive Markup Language)文档中某部分位置的语言。XPath 基于 XML 的树状结构,提供在数据结构树中找寻节点的能力。起初 XPath 的提出的初衷是将其作为一个通用的、介于 XPointer 与 XSLT(eXtensible Stylesheet Language + Transformation) 间的语法模型。但是 XPath 很快的被开发者采用来当作小型查询语言

    0. 所谓节点

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

    • element(元素节点)
    • attribute(属性节点)
    • text (文本节点)
    • namespace (名称空间节点)
    • processing-instruction (处理命令节点)
    • comment (注释节点)
    • root (根节点)

    1. XPath 上下文

    • 当前节点(./):
      如./sender表示选择当前节点下的sender节点集合(等同于下面所讲的”特定元素”,如:sender)
    • 父节点(../):
      如../sender表示选择当前节点的父节点下的sender节点集合
    • 根元素(/):
      如/messages表示选择从文档根节点下的messages节点集合.
    • 根节点(/*):
      这里的*是代表所有节点,但是根元素只有一个,所以这里表示根节点。/*的返回结果和/messages返回的结果一样都是messages节点。
    • 递归下降(//):

    2. 一个 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>
    • bookstore :选取 bookstore 元素的所有子节点。
    • /bookstore :选取根节点bookstore,这是绝对路径写法。
    • bookstore/book :选取所有属于 bookstore 的子元素的 book元素,这是相对路径写法。
    • //book :选择所有 book 子元素,而不管它们在文档中的位置。
    • bookstore//book :选择所有属于 bookstore 元素的后代的 book 元素,而不管它们位于 bookstore 之下的什么位置。
    • //@lang :选取所有名为 lang 的属性。

    xpath路径表达式笔记

  • 相关阅读:
    在Magento产品分类页面创建推荐产品
    任意两个时间之间的星期几的次数纵.sql
    SQL 日期格式化处理.sql
    系统应用程序域
    在ubuntu12.04中,apc_cache_find()
    buildertheory.cs
    复杂年月处理.sql
    CurrentAccounts.cs
    CLR和Windows加载器
    应用程序域
  • 原文地址:https://www.cnblogs.com/mtcnn/p/9423079.html
Copyright © 2011-2022 走看看