gpt4 book ai didi

xml - XPath 1.0 : Returning a string from multiple node results?

转载 作者:数据小太阳 更新时间:2023-10-29 02:58:43 26 4
gpt4 key购买 nike

假设我有一个像这样的节点结构:

<Row>
<Column Name="Primary Number">1</Column>
<Column Name="Secondary Number">01</Column>
<Column Name="Text">This is all one sentence</Column>
<Row>
<Column Name="Primary Number">1</Column>
<Column Name="Secondary Number">02</Column>
<Column Name="Text">I would like to return</Column>
<Row>
<Column Name="Primary Number">1</Column>
<Column Name="Secondary Number">03</Column>
<Column Name="Text">as one string, in one xpath line</Column>

首先我想说这不是我的xml,也不是我帮助构建的。但是我不得不用它来检索我需要的信息....所以请帮忙。

所以我想使用一个 XPath 做的是返回一个字符串,其中包含来自所有 Primary Number=1 节点的所有 n 个文本字段的文本。
这可能使用 XPath 1.0 吗?

我有一个不太优雅的解决方案,但它只有在我知道辅助数字的确切数量时才有效,然后它只是一堆困惑的 concat()...

大家好,感谢大家的回复!所以我想用这个字符串做的是使用 contains() 来搜索特定的关键字,但我发现了一个捷径,实际上有一个所有值的串联字符串来这样做,并且只需要分享它以防有人有一个类似的问题。Tod 的提示对此有很大帮助,我只是向它添加了一个条件和 BAM 魔法。在这里:

Table[@Name='TableName']/Row/Column[@Name='Text' and contains(text(),"keyword")][preceding-sibling::Column[@Name='Primary Number' and text()='15']]

因此,它所做的不是将所有节点值结果连接为一个字符串,然后在其上使用 contains(),而是分别在每一行中搜索单词,从而消除了对不可能的需要。感谢大家的帮助,如果没有大家的热烈回应,我不可能做到这一点!(我会给每个人投票,但我太新了 :( )

最佳答案

这是在 XPath 2.0 中通过 string-join() 函数完成的。它可以在 XSLT 1.0 中使用 <xsl:for-each> 完成.但我不认为在没有宿主语言支持的情况下,它可以在纯 XPath 1.0 中完成。

关于xml - XPath 1.0 : Returning a string from multiple node results?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7809656/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com