问题标签 [xpath-2.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 投票
4 回答
3680 浏览

objective-c - libxml2 是否支持 XPath 2.0?

我尝试使用XPath 2.0exp //span/string(.)in libxml2,但它不起作用。
所以,我的问题是:libxml2支持XPath 2.0与否?

0 投票
1 回答
1697 浏览

function - XPATH 匹配函数问题——有效但无效

我正在使用 Eclipse 运行 XSL 2.0 (XPATH 2.0),并且我有以下来源:

当我在 Eclipse 中测试以下表达式时, //*[matches(@Text, '\d+-\d+')] 我得到了正确的节点,但不是 Text 属性本身

...而//@Text给我 Text 属性。谁能帮我理解为什么?我想获取 Text 属性值并使用字符串函数解析它们。最终结果应如下所示:

<output originalText="from 1-2" value1="1" value2="2" />

我不应该获得每个匹配节点的所有属性吗?

0 投票
2 回答
5052 浏览

xml - 如何在xslt中检查当前节点的父节点是否为根节点?

我想在 Xslt 中检查当前节点的父节点是否为根节点。我该怎么做?请指导我摆脱这个问题......

谢谢和问候, P.SARAVANAN

0 投票
2 回答
220 浏览

xml - 如何使用 xslt 2.0 进行此特定查询?

下面提到的内容是我的 XML 文档。

所以,在阅读每一个<w:p>时,我想检查它的属性值 pStyle 值。例如,在上面的文件中,第一个<w:p>包含该属性值作为“Heading1”。所以,首先<w:p>,我什么都不在乎,就拿它。之后,拿了这个<w:p>

*逻辑 1: *我想拆分属性值Heading1以在Heading之后检索字符串。所以,现在我们得到'1'

之后,在阅读下一个<w:p>时,应用相同的逻辑 1来吐出当前属性值。所以,在这种情况下,我们有'2'。现在,我想将此当前值'2'与先前值'1'进行比较。

逻辑2:如果小于前一个值则只选择当前值<w:p>,否则什么都不做。

对所有节点应用上述逻辑 1 和逻辑 2 。<w:p>

所以,就我而言,我只想选择以下<w:p>节点。

要求的选择是:

希望你明白我的问题...

这种情况我该怎么办?...

请指导我摆脱这个问题......

谢谢和问候, P.SARAVANAN

0 投票
2 回答
10696 浏览

xpath - 如何使用 XPath 从字符串中仅获取数字

我有一个包含数字的字符串。仅使用 XPath 是否可行,我只能从中获取数字?

例如:myString="abcd12ef34gh567",结果:1234567

0 投票
1 回答
2175 浏览

xpath - XPath 2.0:按属性检索节点,其中值不区分大小写

我是使用 XPath 的新手,我正在尝试通过其属性检索节点,但问题是该属性不区分大小写,这意味着我不完全知道字符串在文档中的大小写方式。

例如:

鉴于文件:

如果我想检索 machine1,我会使用 XPath:

但是获取 machine2 的类似 XPath 将失败,因为大小写不匹配:


我看到各种帖子提到使用类似的东西(我不确定如何将命名空间应用于此):

但即使我让它工作,考虑到我使用它的次数,它也会非常麻烦。


最后,我读到 XPath 2.0 支持 match() 和 lower-case() 但对 XPath 来说是新手,我不明白如何应用它们:

例如,如果我尝试以下操作,我会得到一个“无效的合格名称”: //my:Machines/my:Machine/ [matches(@FQDN, '(?i)machine1.mydomain.com')] //my:Machines /my:Machine/ [小写(@FQDN,'machine1.mydomain.com')]


有人可以提供一个示例 XPath,其中包括可以处理的命名空间吗?

谢谢

0 投票
2 回答
798 浏览

java - 根据xml中一个属性的值获取标签属性值

我正在为 android 制作一个应用程序,并且正在从在线的 xml 文件中提取和解析标记属性的值。假设 xml 文件看起来像这样。

该应用程序将为其设置一个名称(例如 John、Ed、Mary、Kate),我想提取名称出现在哪一行以及名称在哪个属性中的标签属性的值(例如 name1 , name2),名称将保持不变,但它会根据周改变行和属性。

我搜索了答案,发现我很可能会使用 XPath。谁能帮我解决这个问题?我的解析方法对使用 xpath 有影响吗?DOM 还是 SAX?

提前致谢!

0 投票
2 回答
1943 浏览

xpath - XPath:根据另一个节点值选择一个节点

我正在尝试使用单个 XPath 表达式来选择具有与文档中的另一个节点匹配的子节点的节点。

匹配意味着节点的所有属性都相同。因此,如果将一个节点与多个属性进行比较,则进行单独的属性比较将是不可维护的。

例如,给出以下内容:

我想根据 MyMachine 下列出的 ServiceDetails 从 Services 中获取服务节点。

我认为它看起来像:

但它似乎不起作用。我怀疑 '=' 运算符没有正确处理节点比较。我认为有一些 XPath 2.0 方法可能有效,但我使用的是 .NET 4.0(System.XML 命名空间)我不知道我是否可以使用它们。如果 XPath 2.0 方法在这里有所帮助,我将非常感谢有关如何在 .Net 4.0 中使用它们的解释。

谢谢

0 投票
1 回答
5937 浏览

xslt - 如何在 .NET 4.0 中使用 XPath 2.0 方法?

我正在使用 .NET 4.0,我想使用 XPath 2.0 方法,例如 ([Matches()][1], [upper-case()][2], [lower-case()][3])试图在文档中查找元素。

示例 XPath:"/MyDocument/MyNode[matches(@MyAttribute, 'MyValue', 'i')]"

我试过使用:

  • System.Xml.XPath.XPathNavigator.Compile()
  • System.Xml.XmlDocument.SelectNodes()
  • System.Xml.Linq.XDocument.SelectElements()

但我基本上抛出异常“UndefinedXsltContextException”(或类似的东西)。这可以在 .NET 4.0 中完成吗?如果可以,您能否提供一个小示例来说明如何将其设置为工作?

谢谢

0 投票
4 回答
3113 浏览

xslt - 如何找到a中的元素个数使用 XSLT?

我有一个包含以下类型的 XML 模式:

一个示例 XML 片段将是:

在 XSLT 转换中,如何获取列表中的元素数量?

如何迭代元素?