我需要返回的書籍和期刊,其中「李四」是作者的頭銜,但我的xml文件被設置爲:是否可以在XQuery的where子句中使用OR?
<library>
<book>...</book>
<article>...</article>
</library>
有6個圖書和期刊的總額。
我知道,如果這是SQL我可以這樣做:
SELECT title
FROM library
WHERE bookauthor = "John Doe" OR articleauthor = "John Doe"
(該數據庫將不歸,但我要表明我想我知道我需要做的,只是不知道如何使用XQuery)
我試過以下,它返回的所有6個頭銜對我說:
for $x in doc("xmldata.xml")/library
let $a := $x/article
let $b := $x/book
return ($a/title, $b/title)
但我不知道是什麼關於where子句。同樣地,我嘗試了以下內容和被困在同一點:
for $x in doc("xmldata.xml")/library
return ($x/article/title, $x/book/title)
當我試圖在where子句中仍返回所有6項添加即使它應該只返回1本書,1條:
for $x in doc("xmldata.xml")/library
where $x/article/author = 'John Doe'
where $x/book/author = 'John Doe'
return ($x/article/title, $x/book/title)
有人能幫我嗎?也許通過指引我朝着正確的方向或指出我要出錯的地方。
完整的XML文件:
<library>
<book>
<author>John Doe</author>
<title>Turnitin</title>
</book>
<article>
<author>John Doe</author>
<title>Evaluating</title>
</article>
<article>
<author>Shannon, L.</author>
<title>Reconceptualising</title>
</article>
<book>
<author>Burden, David</author>
<title>An evaluation</title>
</book>
<article>
<author>Moscrop, C.</author>
<title>Evaluating a systematic method</title>
</article>
<book>
<author>Beaumont, C.</author>
<title>Beyond e-learning</title>
</book>
</library>
?我沒有看到你最後的查詢有什麼問題。 – wst
我已經將源XML添加到帖子的底部了,謝謝! – user2633709