XML 教程

XML 教程 XML 简介 XML 用途 XML 树结构 XML 语法 XML 元素 XML 属性 XML 命名空间 XML Display XML HttpRequest XML Parser XML DOM XML XPath XML XSLT XML XQuery XML XLink XML 验证器 XML DTD XML Schema XML 服务器 XML 实例 XML 测验

XML AJAX

AJAX 简介 AJAX XMLHttp AJAX 请求 AJAX 响应 AJAX XML 文件 AJAX PHP AJAX ASP AJAX 数据库 AJAX 应用程序 AJAX 实例

XML DOM

DOM 简介 DOM 节点 DOM 访问节点 DOM 节点信息 DOM 节点列表 DOM 节点遍历 DOM 节点导航 DOM 获取节点 DOM 更改节点 DOM 删除节点 DOM 替换节点 DOM 创建节点 DOM 添加节点 DOM 克隆节点 DOM 实例

XPath 教程

XPath 简介 XPath 节点 XPath 语法 XPath 轴(Axes) XPath 运算符 XPath 实例

XSLT 教程

XSLT 简介 XSL 语言 XSLT 转换 XSLT <template> XSLT <value-of> XSLT <for-each> XSLT <sort> XSLT <if> XSLT <choose> XSLT Apply XSLT 客户端 XSLT 服务端 XSLT 编辑 XML XSLT 实例

XQuery 教程

XQuery 简介 XQuery 实例 XQuery FLWOR 表达式 XQuery FLWOR + HTML XQuery 术语 XQuery 语法 XQuery 添加元素和属性 XQuery 选择和过滤 XQuery 函数

XML DTD

DTD 简介 DTD 构建模块 DTD 元素 DTD 属性 DTD 元素 vs. 属性 DTD 实体 DTD 实例

XSD Schema

XSD 简介 XSD How To XSD <schema> XSD 元素 XSD 属性 XSD 限制

XSD Complex

XSD 复杂元素 XSD 空元素 XSD 仅限元素 XSD 纯文本元素 XSD 混合 XSD 指示器 XSD <any> XSD <anyAttribute> XSD 替换 XSD 实例

XSD 数据类型

XSD 字符串 XSD 日期 XSD 数值 XSD 杂项 XSD 参考手册

Web Services

XML Services 简介 XML WSDL XML SOAP XML RDF XML RSS

参考手册

DOM 节点类型 DOM 节点 DOM NodeList DOM NamedNodeMap DOM 文档 DOM 元素 DOM 属性 DOM 文本 DOM CDATA DOM 注释 DOM XMLHttpRequest DOM 解析器 XSLT 元素 XSLT/XPath 函数


XML 和 XPath

什么是 XPath?

XPath 是 XSLT 标准中的主要元素。

XPath 可用于浏览 XML 文档中的元素和属性。


XPath
  • XPath 是一种用于定义部分 XML 文档的语法
  • XPath 使用路径表达式在 XML 文档中导航
  • XPath 包含一个标准函数库
  • XPath 是 XSLT 和 XQuery 中的主要元素
  • XPath 是 W3C 推荐

XPath 路径表达式

XPath 使用路径表达式来选择 XML 文档中的节点或节点集。 这些路径表达式看起来很像您在使用传统计算机文件系统时看到的表达式。

XPath 表达式可用于 JavaScript、Java、XML Schema、PHP、Python、C 和 C++ 以及许多其他语言。


XPath 在 XSLT 中使用

XPath 是 XSLT 标准中的主要元素。

有了 XPath 知识,您将能够充分利用 XSL。



XPath 实例

我们将使用以下 XML 文档:

<?xml version="1.0" encoding="UTF-8"?>

<bookstore>

<book category="cooking">
  <title lang="en">Everyday Italian</title>
  <author>Giada De Laurentiis</author>
  <year>2005</year>
  <price>30.00</price>
</book>

<book category="children">
  <title lang="en">Harry Potter</title>
  <author>J K. Rowling</author>
  <year>2005</year>
  <price>29.99</price>
</book>

<book category="web">
  <title lang="en">XQuery Kick Start</title>
  <author>James McGovern</author>
  <author>Per Bothner</author>
  <author>Kurt Cagle</author>
  <author>James Linn</author>
  <author>Vaidyanathan Nagarajan</author>
  <year>2003</year>
  <price>49.99</price>
</book>

<book category="web">
  <title lang="en">Learning XML</title>
  <author>Erik T. Ray</author>
  <year>2003</year>
  <price>39.95</price>
</book>

</bookstore>

在下表中,我们列出了一些 XPath 表达式和表达式的结果:

路径表达式 结果
/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='en'] 选择所有具有 "lang" 属性且值为 "en" 的标题元素
/bookstore/book[price>35.00] 选择所有 bookstore 元素中 price 元素的值大于 35.00 的 book 元素
/bookstore/book[price>35.00]/title 选择 bookstore 元素的 book 元素中 price 元素的值大于 35.00 的所有 title 元素

XPath 教程

您将在我们的 XPath 教程中了解更多关于 XPath 的信息。