2016-11-09 46 views
0

在我的xml中,我有許多ID和REF屬性。Xquery:如何從REF/ID中提取信息

簡化下:

<library> 
<book ID="123"> 
    <author ref="33"></author> 
    <Info>Vulpes Vulpes, Canis Lupus</info> 
    <about>Programming</about> 
</book> 

<author ID="33"> 
    <firstname>John</firstname> 
    <lastname>McLovin</lastname> 
</author> 
</library> 

所以我想使用XQuery來提取出關於作者的信息,用下書REF屬性。

for $x in library/book 
where $x/about = "programming" 
return data ($x/library/book/author/@ref) 

利用該方法我提取refnumber 33.但我想,其位於下ID =「33」即REF =「33」點的數據,。我想以姓和名作爲結果。

這可能嗎?如果不是這樣,那怎麼可能?

回答

0
for $x in library/book 
where $x/about = "Programming" 
return data (library/author[@ID=$x/author/@ref]) 
+0

您是否有其他解決方案?這似乎並不奏效。您的解決方案中的$ x是否等於作者中的ID? – Magnus

+0

我檢查了[hier](http://www.xpathtester.com/xquery),但我需要更正您的xml片段:結束標記到。結果我得到了John McLovin。那是你需要的嗎? –

+0

沒關係,我終於明白你的查詢以及它的工作原理了,謝謝你的鏈接和解決方案。非常感謝你! – Magnus