gpt4 book ai didi

xslt - XPATH是否有任何类似SQL“IN”的内容?

转载 作者:行者123 更新时间:2023-12-03 17:19:43 25 4
gpt4 key购买 nike

这样做可能会有更好的方法,请分享。我有一个ID列表,我想用来选择某些元素。例如,假设我有以下XML

<ANSWER calculatedValue="8917.51" 
type="DECIMAL"
desc="Additional Features"
id="ADDTL" />
<ANSWER calculatedValue="1997.16"
type="DECIMAL"
desc="Appliances"
id="APP" />
<ANSWER calculatedValue="6988.94"
type="DECIMAL"
desc="Electrical"
id="ELE" />
<ANSWER calculatedValue="21184.22"
type="DECIMAL"
desc="Exterior Finish"
id="EXT" />


我想获取id为ADDTL,APP和ELE的calculatedValues的总和。我可以这样做:

sum(ANSWER[@id = 'ADDTL' or @id = 'APP' or @id = 'ELE']/@calculatedValue)


有没有办法做这样的事情:

sum(ANSWER[@id in ('ADDTL,APP,ELE')]/@calculatedValue)


在实际使用中,此列表约为15个ID。我可能可以使用tokenize和index-of来做到这一点,但我想知道是否存在类似XPATH的SQL“ IN”。思想,观念。如果情况变得更糟,我将只使用“或”。

最佳答案

几乎。使用此XPath 1.0表达式:

sum(
ANSWER[
contains(
',ADDTL,APP,ELE,',
concat(
',',
@id,
','
)
)
]/@calculatedValue
)


或以下XPath 2.0表达式:

sum(ANSWER[@id = ('ADDTL','APP','ELE')]/@calculatedValue)

关于xslt - XPATH是否有任何类似SQL“IN”的内容?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5021807/

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