gpt4 book ai didi

XSLT 与 SQL 类似的功能 "WHERE LIKE"

转载 作者:行者123 更新时间:2023-12-03 16:01:10 25 4
gpt4 key购买 nike

我有以下 XML

        <Answer>
<Label>FCVCMileage</Label>
<Value>3258</Value>
<Iteration>0</Iteration>
<DataType>NUMBER</DataType>
</Answer>

并且需要获取里程标签下的值。然而,里程的 4 个字母前缀可以是 8 个不同前缀中的任意一个。

我知道我可以通过使用 xsl:if 或 xsl:choose 测试每个组合来找到该值,但是有没有一种更优雅的方法可以类似于以下 SQL,并且不需要更改正在执行的代码:添加了其他前缀。

WHERE label LIKE '%Mileage'

注意。只会有 1 个标签元素包含“里程”一词

干杯!

最佳答案

I know I could find the value by testing for every combination using xsl:if or xsl:choose but is there a more elegant way that would work similar to the following SQL and also wouldn't need changes to code being made if other prefixes were added.

WHERE label LIKE '%Mileage'

在 XPath 2.0 中有一个标准函数 ends-with()

在 XPath 1.0 中使用:

/*[Label[substring(., string-length(.) - 6) = 'Mileage']]/value

注意:

  contains(Label, 'Mileage')

与上面的 SQL 子句不同。例如,它将选择这个节点:

<Label>xxx Mileage yyy</Label>

关于XSLT 与 SQL 类似的功能 "WHERE LIKE",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4656169/

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