2

人.xml

<person>
  <PID>
   <Name>John</Name>
   <fruit>Orange</fruit>
  </PID>
  <PID>
   <Name>Wendy</Name>
   <fruit>Apple</fruit>
  </PID>
  <PID>
   <Name>Alex</Name>
   <fruit>Kiwi</fruit>
  </PID>
 </person>

存储.xml

<store>
  <AU>
   <name>Star</name>
   <fruit>Orange</fruit>
  </AU>
  <AU>
   <name>Moon</name>
   <fruit>Apple</fruit>
  </AU>
 </store>

我有上面的两个 xml 文件,我需要编写一个 xquery 代码来找出一个人吃的哪种水果在商店里没有。如何编写代码来检查商店中没有哪些水果?

4

1 回答 1

0

这个查询(恰好是一个纯 XPath 2.0 表达式):

doc('file:///c:/temp/delete/person.xml')
   /*/*/fruit
        [not(.
            =
             doc('file:///c:/temp/delete/store.xml')
                /*/*/fruit)
        ]

产生想要的正确结果:

<fruit>Kiwi</fruit>

说明

使用一般比较运算符=(与值比较运算符相反eq

于 2012-10-04T12:43:25.487 回答