gpt4 book ai didi

xquery - 按属性过滤

转载 作者:行者123 更新时间:2023-12-01 23:00:44 24 4
gpt4 key购买 nike

以下是包含 65 个讲座的 XML 文件的摘录:

   <?xml version="1.0" encoding="iso-8859-1" ?>
<university>
<lecture>
<class>English</class>
<hours>3</hours>
<pupils>30</pupils>
</lecture>
<lecture>
<class>Math</class>
<hours>4</hours>
<pupils>27</pupils
</lecture>
<lecture>
<class>Science</class>
<hours>2</hours>
<pupils>25</pupils>
</lecture>
</university>

我需要一个 where 子句,为我提供一个学生数量多于英语讲座的讲座列表。但是,不使用属性“30”,而是调用英语的lecture属性

例如,我想使用条件为 pupils > English.pupils 的 where 子句,而不是 pupils > 30

(“pupils > English.pupils”只是 puesdo 代码作为示例)

最佳答案

where 子句并不是绝对必要的,但要使用它,您需要将其作为 for 迭代器的一部分:

let $lectures := doc("lectures.xml")/university/lecture
let $english-pupils := $lectures[class = "English"]/pupils/xs:integer(.)
for $lecture in $lectures
where ($lecture/pupils/xs:integer(.) gt $english-pupils)
return $lecture

您还可以通过使用 XPath 谓词来完全避免 flwor

let $lectures := doc("lectures.xml")/university/lecture
let $english-pupils := $lectures[class = "English"]/pupils/xs:integer(.)
return $lectures[pupils/xs:integer(.) gt $english-pupils]

关于xquery - 按属性过滤,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36817387/

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