`

js XPath selectnodes js

    博客分类:
  • js
XML 
阅读更多

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 元素。
分享到:
评论

相关推荐

    JS中常用的xpath特性

    在JavaScript中,XPath主要被用来查询DOM(Document Object Model)结构中的节点。通过XPath表达式,我们可以方便地选取XML或HTML文档中的元素,而无需遍历整个DOM树。以下是对给定标题和描述中所列举的XPath特性的...

    js中使用xpath来解析xml元素.docx

    ### 使用JavaScript与XPath解析XML元素 #### XPATH简介 XPath是一种在XML文档中查找信息的语言。它使用路径表达式来选择节点或集合节点,并且能够处理来自XML文档的数据,为构建XSLT这样的XML应用程序提供了强有力...

    js中使用xpath来解析xml元素实用.pdf

    在JavaScript中,XPath主要应用于AJAX开发,即在客户端与服务器交互时解析返回的XML数据。例如,服务器端返回一个简单的XML响应,如 `&lt;resume&gt;&lt;name&gt;朱元璋&lt;/name&gt;&lt;age&gt;18&lt;/age&gt;&lt;/resume&gt;`,客户端可以通过...

    兼容浏览器的解析xml的js代码

    在JavaScript中,解析XML文档并使用XPath进行查询是一项常见的任务,尤其在开发跨浏览器的Web应用时,确保代码兼容性尤为重要。XPath是一种在XML文档中查找信息的语言,它允许我们根据节点的名称、属性、值或其他...

    asp.net操作xml代码示例和js小功能实例

    在这个“asp.net操作xml代码示例和js小功能实例”项目中,我们将探讨如何在ASP.NET环境下处理XML文档,以及JavaScript的一些实用技巧。 首先,让我们深入了解一下ASP.NET操作XML的要点。在ASP.NET中,我们可以使用...

    javascript读写XML文件

    查询XML文档中的特定节点,可以使用`getElementsByTagName`或`selectNodes`方法,后者基于XPath表达式,提供了更强大的查询能力。 ```javascript var a = doc.getElementsByTagName("ttyp"); // 或者 var a = doc....

    XMLDOM对象方法手册.chm+XPath.chm

    7. **selectNodes** 和 **selectSingleNode**:使用XPath表达式来选择节点集合或单个节点。 XPath(XML Path Language)是一种在XML文档中查找信息的语言。XPath.chm可能是XPath的参考指南,它可能包含: 1. **...

    javascript读取XML文件方法

    ### JavaScript读取XML文件的方法详解 #### 一、引言 在现代Web开发中,XML(可扩展标记语言)作为一种轻量级的数据交换格式,在早期的Web应用中扮演着重要的角色。JavaScript作为前端的主要编程语言之一,具备强大...

    Javascript读取xml文件

    - **`selectNodes`** 和 **`selectSingleNode`**:这些方法允许通过XPath表达式选择节点。 - **修改节点**: - **创建新节点**:`createElement` 创建元素节点;`createTextNode` 创建文本节点。 - **添加、删除...

    Javascript操作XML和HTML

    - **`selectNodes(xpath)`**: 使用 XPath 查询选择一组节点。 - **`getElementById(id)`**: 根据 ID 获取一个节点。 - **`getElementsByTagName(tagName)`**: 根据标签名称获取一组节点。 - **`getAttribute(name)`*...

    javascript加载xml 并解析各节点的值(实现方法).docx

    2. **使用`selectNodes`方法根据XPath表达式获取节点**: - XPath是一种用于定位XML文档中信息的语言。 - 示例代码如下: ```javascript var nodes = xmlDoc.selectNodes("//" + nodeName); for (var i = 0; i ...

    javascript操作XML与HTML

    2. **`selectNodes("XPATH")`**:根据提供的XPath表达式选择多个节点。 3. **`getElementById("id")`**:通过ID获取指定节点。 4. **`getElementsByTagName("tagName")`**:获取具有指定标签名称的所有节点。 5. **`...

    JS_操作节点.doc

    - **selectNodes**和**selectSingleNode**:根据XPath表达式选择节点。 掌握这些属性和方法是JavaScript DOM操作的基础,它们使得开发者能够动态地创建、修改和删除网页内容,实现丰富的交互性和动态效果。在实际...

    javaScript节点操作

    - **定义**:`selectNodes`方法根据XPath表达式选择一组节点。 - **示例代码**: ```javascript var nodes = document.selectNodes('/html/body/div'); // 假设存在该方法 ``` ##### 21. selectSingleNode(选择...

    详细讲解JS节点知识

    - `selectNodes`、`selectSingleNode`:根据XPath表达式选取节点。 - `transformNode`、`transformNodeToObject`:使用XSLT转换节点。 理解DOM中的节点关系是关键,它们形成了一个树形结构,根节点位于顶部,然后...

    Javascript里使用Dom操作Xml_1.docx

    2.2.4 `selectNodes`: 根据XPath表达式选择多个节点。返回一个`IXMLDOMNodeList`对象,包含了所有匹配的节点。 2.2.5 `getElementsByTagName`: 根据标签名选择所有节点。返回一个`IXMLDOMNodeList`对象,包含了所有...

Global site tag (gtag.js) - Google Analytics