DevToolbox

免费在线 XPath 测试工具

XPath 在线测试工具——在浏览器中对 XML 文档求值 XPath 1.0 表达式。支持节点集、字符串、数字、布尔值及所有标准 XPath 轴,免费且完全在客户端运行。

100% 客户端处理 · 数据永不离开您的浏览器
Output appears here…
Quick Reference

使用说明 XPath 测试工具

将 XML 粘贴到左侧的 XML 输入面板,然后在右侧的 XPath 表达式字段中输入 XPath 表达式。

  • 点击测试或按 Ctrl/Cmd+Enter 执行表达式。
  • 结果类型徽章显示结果是节点集字符串数字还是布尔值
  • 对于节点集结果,每个匹配节点将被序列化并单独显示。
  • 点击快速参考中的条目可插入常用 XPath 模式。
  • 点击加载示例可加载书店 XML 示例。

XPath 求值使用浏览器原生 document.evaluate() API,不会向任何服务器发送数据。

常见问题

什么是 XPath?

XPath(XML 路径语言)是一种用于从 XML 文档中选取节点的查询语言。它使用路径表达式来遍历树形结构。XPath 1.0 通过浏览器原生的 <code>document.evaluate()</code> API 得到广泛支持。

如何选取所有具有特定名称的元素?

使用双斜杠 <code>//</code> 运算符进行递归搜索。例如,<code>//book</code> 可选取文档中任意位置的所有 <code>&lt;book&gt;</code> 元素,<code>//title</code> 可选取任意深度的所有 <code>&lt;title&gt;</code> 元素。

如何选取属性值?

在属性名称前加上 <code>@</code> 前缀。例如,<code>//book/@category</code> 返回所有 <code>&lt;book&gt;</code> 元素上的 "category" 属性值。如需按属性值过滤,可使用 <code>//book[@category="fiction"]</code>。

XPath 1.0 中有哪些可用函数?

XPath 1.0 包含字符串函数(<code>string()</code>、<code>contains()</code>、<code>starts-with()</code>、<code>normalize-space()</code>)、数字函数(<code>count()</code>、<code>sum()</code>、<code>number()</code>)、布尔函数(<code>boolean()</code>、<code>not()</code>)以及节点导航函数(<code>last()</code>、<code>position()</code>、<code>name()</code>、<code>local-name()</code>)。

为什么我的 XPath 没有返回结果?

常见原因:(1) 元素有命名空间——XPath 1.0 需要特殊处理命名空间;(2) 路径区分大小写——XML 元素名称区分大小写;(3) 使用了 XPath 2.0 语法(如 <code>fn:</code> 前缀),浏览器原生 XPath 1.0 引擎不支持此语法。

我的 XML 数据安全吗?

是的,XML 的解析和查询完全在浏览器中使用内置的 DOMParser 和 document.evaluate() API 完成,不会向任何服务器发送数据。您可以放心粘贴内部 XML 文档。

相关工具