xml - 通过在 Xpath 中动态传递节点名称来获取节点值

标签 xml xpath tibco

我正在使用 Tibco xpath。

我的输入就像

<output>
<outputf1>123</outputf1>
<outputf2>123</outputf2>
<outputf3>123</outputf3>
<outputf4>123</outputf4>
</output>

Outputf1、outputf2 ..来自另一个事件动态。

如何通过将节点名称动态传递到 XML 来检索值。

最佳答案

这里有两个提供节点名称的 XPath 函数。 name()提供包含命名空间前缀的名称 local-name()没有它的名字。您可以选择所有元素节点并通过比较 local-name() 来过滤它们:

/outputs/*[local-name() = 'outputf2']

您甚至可以将其与 starts-with() 结合起来选择所有“输出”元素节点。

/outputs/*[starts-with(local-name(), 'output')]

小心一点 - outputsoutput 开头,也是。

提示:这是非常糟糕的 XML。如果您可以更改它,我建议类似 <output index="f1">123</output>

关于xml - 通过在 Xpath 中动态传递节点名称来获取节点值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27131960/

相关文章:

java - 如何使用 XMLStreamReader 多次读取同一 XML 文件

classnotfoundexception - Tibco 错误 : ClassNotFoundException: com. tibco.tibjms.naming.TibjmsInitialContextFactory

ruby-on-rails - 如何在 Ruby 中使用 X509Certificate 对 xml 进行签名?

java - 将方法添加到 org.w3c.dom.Node

c# - 将 XML 反序列化为 C# XmlRoot 中的对象不起作用

xpath - 如何忽略xpath中的第一个元素

xml - 使用 XPATH 乘以节点值和属性的总和

html - Lxml cssselect 通配符

java - 从 natted ip 连接到 Tibco 队列失败

python - 我可以使用哪个 IronPython 编辑器为 Tibco Spotfire 控件开发脚本