gpt4 book ai didi

xml - 如果存在重新出现的元素,则 XPATH 选择不同的第一个元素

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

我有一个重复出现的 XML 元素

<comment>
<cmnt_reas_typ>reason1</cmnt_reas_typ>
<cmnt_txt>ABC</cmnt_txt>
</comment>
<comment>
<cmnt_reas_typ>reason1</cmnt_reas_typ>
<cmnt_txt>ABC</cmnt_txt>
</comment>
<comment>
<cmnt_reas_typ>reason2</cmnt_reas_typ>
<cmnt_txt>ABC</cmnt_txt>
</comment>

基本上,对于特定的 cmnt_reas_typ,我只想显示一次 cmnt_txt。所以在上面的例子中,我只想为 cmnt_reas_typ = "reason1"显示一次 cmnt_txt "ABC"。但问题是 cmnt_reas_typ 是一个动态值,我不能在 XPath 中对其进行硬编码。有没有一种说法是只为这个 cmnt_reas_typ 返回一个 cmnt_txt?或者即使 XPath 返回 bool 值 true 如果它是第二次出现 cmnt_reas_typ 也应该没问题。它适用于 XPATH 1.0。

最佳答案

如果我对您的需求理解正确,您希望每种评论类型都生成一个评论文本(第一个),对吗?如果是这样的话,那么我想出了这个 XPath:

//cmnt_txt[not(../cmnt_reas_typ/text() = ../preceding::cmnt_reas_typ/text())]

它采用所有 cmnt_text 节点,其 cmnt_reas_typ 不等于任何前面的 cmnt_reas_typ。因此,如果没有遗漏任何内容,它应该只采用每种类型的第一个 cmnt_text

关于xml - 如果存在重新出现的元素,则 XPATH 选择不同的第一个元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13382937/

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