问题标签 [xpath-1.0]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
229 浏览

c# - 为什么 System.Xml.XmlDocument 上的 XPath 找不到相邻的文本和 CData 节点?

为什么 XPath over aSystem.Xml.XmlDocument找不到相邻的文本和 CData 节点?

从上面我们可以看出,CDATA 节点将文本节点作为它的下一个兄弟节点,因此您会认为表达式/root/test/text()会找到它。

与 XPath 相同的结果:/root/test/node()

0 投票
1 回答
22 浏览

xpath-1.0 - 我的数据没有在在线服务器上更新。数据在本地更新

实际上我在本地主机上更新代码它正在更新但在在线服务器中它没有更新如何更新代码

实际上我在本地主机上更新代码它正在更新但在在线服务器上它没有更新如何更新代码实际上我在本地主机上更新代码它正在更新但在在线服务器上它没有更新如何更新代码

0 投票
1 回答
265 浏览

xml - 仅当子元素不存在时才通过 XPath 选择属性?

我有一个示例 XML 片段,如下所示

我想提取值 sourceFacility="CCZM", sourceTimeStamp="2011-03-15T23:57:27Z"trigger="TZ"

但是 XPath 不应该返回asdiMessage具有名为 的子元素的值trackposition。所以不应该返回以下值: asdiMessage sourceFacility="CCM" sourceTimeStamp="2015-03-15T23:57:27Z" trigger="TZ"因为子元素。

我试过了/asdiOutput/asdiMessage[not(contains(trackposition))],但这根本不返回任何东西

0 投票
2 回答
3089 浏览

xml - 如何在 XPath 表达式中包含换行符?

有没有办法在 XPath 表达式中添加换行符?

这是我当前的表达式,它不起作用

其中变量$NullObj等于
LINEFEED 字符的十六进制值。

这输出为“Parameter1 Parameter2”。

编辑:不幸的是,我使用的是 Xpath / Xsl 1.0。

编辑:下面的示例代码。XML:

示例 XSL

Edit2:完整的 Xpath 上下文,根据要求:

结果输出不包括换行符。我错过了一些基本的东西吗?我也试过用 替换

但没有运气。谢谢你的耐心。

0 投票
0 回答
116 浏览

spring - JDK6 和 Spring 4.1.8 是否支持使用 Xpath 2.0 版进行 XSL 处理?

我正在尝试实现 XML - XSLT 转换。为此,我使用JDK 6Spring 4.1.8。从代码中我看到XsltPayloadTransformer编译XSL文件,然后转换XML数据文件。但是我的XSL使用XPath V2并且似乎JDK6不支持它。那么有什么方法我仍然可以将XSL 与 XPath v2.0 一起使用。Spring是否有任何支持,或者我需要将我的XPATH 版本降级到1.0吗?

0 投票
1 回答
14459 浏览

xml - XPath 中带有字符串的 Concat 函数

我正在尝试使用 XPath 获取完整的地址。我是 XPath 的新手。这是我到目前为止所做的:

我的 XPath

结果像一个数组:

我希望结果是一个完整的单行地址

concat()在我的 XPath 中使用过,但没有显示任何内容!

0 投票
1 回答
689 浏览

xml - 如何忽略 XPath 1.0 中的命名空间?

我在试图理解 XPath 的魔力时遇到了严重的问题。

基本上,我有一些像这样的 XML:

现在,我想计算我们有多少个 B,没有 C。这可以使用以下 XPath 轻松完成:

现在问题很简单:我如何做同样的事情,同时忽略任何命名空间?

我会想象它是这样的吗?

但这是不正确的。什么是我上面的等效 XPath 但忽略名称空间?

0 投票
1 回答
80 浏览

xml - CDATA 是否会减慢 XSLT 1.0 中的 xslt 转换

我使用 XPATH 1.0 和 XSLT 1.0。我想知道如果下面的代码

在性能方面与

如果我们知道select中一定不需要一些特殊符号?使用<![CDATA[one]]>. 或者它的使用减少了 xslt 编译时间,或者它易于阅读?

0 投票
1 回答
809 浏览

xpath - 多个文本节点上的 XPath 函数

使用 XPath 1.0 想要获取在每个文本节点上应用 XPath 'substring' 函数的文本节点列表

仅给出一个第一个文本的子字符串,当

给出所有这些,但要设置所有子字符串

编辑

试过了

说无效的 XPath 表达式

我怎样才能做到这一点?

提前致谢

0 投票
0 回答
122 浏览

javascript - xpath 1.0 列出指向当前节点的节点(链接计数)

我想做什么:

我想找到正确的 xpath 来计算(或列出)引用活动节点的链接。

我的上下文是带有以下分离的 dom 树的 javascript,用于查询 xpath,document.evaluate 给出了一个特定的入口点。

作为示例,我们将//*[@id="n11"]视为入口点或活动节点(第二个 document.evaluate 参数)

这里是分离的 dom 树:

我已经尝试了几件事,但都没有给我预期的结果:

  • 没有链接的节点:/node/*[not(@id = /link/*/source | /link/*/target)]

  • 具有一个链接的节点:/node/*[@id = /link/*[not(target = following::source | following::target | preceding::source | preceding::target)]/target] | /node/*[@id = /link/*[not(source = following::source | following::target | preceding::source | preceding::target)]/source]

  • 具有多个链接的节点/node/*[@id = /link/*[target = following::source | following::target | preceding::source | preceding::target]/target] | /node/*[@id = /link/*[source = following::source | following::target | preceding::source | preceding::target]/source]

但是这些论文没有给我当前节点的链接号。

这不起作用:count(./[@id = /link/*[target | source]])

这不是更好:count(/link/*[current()/@id = target | source]])因为当前存在于 xslt 上下文中,而不是仅 xpath 上下文中。

有 xpath 方式吗?

我在想的另外两种方法是:重新设计我的 dom 树以使其更像这样:

但是对于第一个 dom 树,我可以将任何 json 转换为 dom 并使用 xpath 查询它,在第二个 dom 树中,我更依赖于数据结构。

我看到的另一种方法是像这样(在第一个 dom 树上)执行递归 xpath: count(/link/*[target | source = {concat('"',@id,'"')}]]) 并在 javascript 中寻找嵌套的 xpath,评估它们,在父级中替换它们并评估父级 xpath。它可以在这里解决问题,但是当嵌套的 xpath 返回节点集而不是字符串时会更难处理。

最后,为什么我要这样做?对于这个项目:https ://github.com/1twitif/social-viz 我想给想要高级配置的用户提供 xpath 权力,但不给他们 javascript 的全部权力来过滤那里的数据以避免 xss 评估用户不受信任的 js脚本。