问题标签 [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.
c# - 使用单引号和双引号对 XPath 表达式进行编码
XPath (v1) 不包含对表达式进行编码的方法。
如果您只有单引号或双引号,那么您可以使用表达式,例如
但是如果你有两个,例如[Fred's "Fancy Pizza"],那么你必须在 XPath (C++)中使用这样的转义字符串来生成
有人在c#中有一个函数可以做到这一点吗?
一些关闭的链接
- 使用 MVP.XML 库和 XPathVariable(一个非常好的解决方案,但对我的需要来说有点重量级)。
- 不编码同时存在 " 和 ' 的位置
- 向 Concat 操作添加不必要的参数, 例如返回 //review[@name=concat('Fred', "'", 's ', '"', 'Fancy Pizza', '"', '') ]
编辑:一些答案建议转义 ' with'
和 " with"
但虽然这是有道理但它不起作用;尝试使用 XML 片段:
和 xpath
javascript - 如何选择 xpath 1.0 中的第 n 个项目?
我有一些 XML 和 XPath 查询。我正在使用雅虎!小部件,所以我使用的是 XPath 1.0。
这是我的 XML 的要点...
现在......如果我运行这个查询:
我得到 42 个结果,所有 'swf' 节点都是正确的。
但是,如果我只想要第 6 个,我希望能够做到:
但我得到一个包含 0 个节点的列表。
奇怪的是,使用 [1](没有其他值)会产生我所有 42 个节点的列表。
显然,我在这里遗漏了一些非常基本的东西。任何人都看到它是什么?
xslt - 如何在 XPath 中表示同时包含撇号和引号的字符串?
我会省略你的细节,因为它们会造成不必要的混乱。长话短说,我正在使用 XSLT 1.0 生成 XSL 文档,我正在尝试将变量与文字字符串进行比较,并且该字符串可能包含引号和撇号。
为简单起见,假设这个文字由两个字符组成:一个引号后跟一个撇号。实际上,它可以是任何文本。有没有更简单的方法来做到这一点:
比这个?
我检查了XPath 的规范,似乎没有一种方法可以转义字符,因此以下内容无法按预期工作:
谢谢!
xslt - 具有更长 [且几乎相同] Xpath 的标签数量的简写
例如:这是一个 xslt
在上面的代码中,我可以
/root/sub-root/parent/child/grand_child/dummy1/dummy2/dummy3/dummy4
只使用一次 XPath [使用大括号或其他] 并减少代码的体积吗?
如您所见,所有节点都是彼此的兄弟,所以除了它们的名称之外,它们的 Xpath 是相同的。有没有短手财产?
XSLT 1.0(或 Xpath1.0)是否允许它?
.net - 如何使用 XPath 选择最浅的匹配元素?
假设我有这个文件。
我有一个 XmlNode 设置为<a:A>
元素。
如果我说
我得到B
,C
和D
. 但我不想要D
,因为它嵌套在另一个“a:”元素中。
如果我说
当然,我什么也得不到,因为 A 和它的父级都在“a”命名空间中。
如何只选择B
and C
,即与命名空间匹配的最浅的孩子?
谢谢。
请注意,这是 XPath 1.0 (.NET 2),所以我不能使用范围内前缀(它看起来会有所帮助)。
此外,这并不是关于名称空间的真正问题。与其他匹配标准相同的困境。
xslt - XSLT 字符串替换
我不太了解 XSL,但我需要修复此代码,我已对其进行了简化以使其更简单。
我收到此错误
无效的 XSLT/XPath 函数
在这条线上
这是 XSL
谁能告诉我它有什么问题?
xslt - 在 XPath 1.0 中,如何测试长度为 1 的字符串是否在其他两个代码点之间?
给定包含这些标签的文档,我如何判断文档编码中是否“”<“H”<“z”?我试图在 XPath 1.0 中做到这一点。
我什至可以不使用 contains(),但是我将如何创建一个包含从“”到“z”的字符的字符串来进行测试?
php - 如何在 XPath 评估之前处理字符串中的双引号?
在下面的函数中,当 $keyword 中的字符串包含双引号时,它会创建一个"Warning: DOMXPath::evaluate(): Invalid expression":
我应该做些什么来$keyword
为评估 xpath 表达式做准备?
完整的功能代码:
html - 如何在 XSL 中比较来自不同父级的两个元素
我有一个如下所示的 HTML 时间表:
是否有可能在单个 for-each 循环中<td>
访问与其父级相比位于相同位置但在前面的位置<tr>
?
我试图做这样的事情,它工作正常,除了 event2 和 event3 同时。
最重要的是不能按预期工作,这种方法有点烦人,因为我需要 5 个不同的 for-each 循环。他们是我可以实现这一目标的一种方式吗?
输出应该类似于