【问题标题】:xquery : how to check for existance of list of elements?xquery:如何检查元素列表是否存在?
【发布时间】:2012-09-21 09:13:33
【问题描述】:

有没有办法检查 xml 文档中是否存在元素列表?元素名称按顺序存储,如果 xml 文档包含任何元素(按顺序存储的名称),则返回 YES,否则返回 NO。我尝试了下面的示例,但没有成功。请问有什么建议吗?

<book category="COOKING">
   <title lang="en">Everyday Italian</title>
   <author>Giada De Laurentiis</author>
   <year>2005</year>
   <price>30.00</price>
 </book>   

让 $doc:=doc("book.xml")/book let $fields := ('title','author')

return 
    if(doc/*:$fields)   
    then 
    "YES"
    else "NO"

【问题讨论】:

    标签: xquery


    【解决方案1】:

    试试这个

    return 
        if($fields[not(.=$doc/*/name())]
        then 
        "No"
        else "YES"
    

    【讨论】:

      【解决方案2】:

      使用

      if(/*/*/name() = ('title', 'author'))
        then 'YES'
        else 'NO'
      

      或者,或者,

      ('YES'[$doc/*/*/name() = $fields], 'NO')[1]
      

      【讨论】:

        猜你喜欢
        • 2019-10-04
        • 2011-08-02
        • 2018-01-10
        • 2021-12-17
        • 1970-01-01
        • 2018-01-31
        • 2021-08-19
        • 1970-01-01
        • 2022-01-21
        相关资源
        最近更新 更多