0
我不知道如何說出我想要做的事情,但我試圖獲得FID,BID和某些東西的所有信息。考慮下面的XML:如何使用XQuery中的子元素執行「加入」
<FOO>
<FID>f1</FID>
<NAME>f1</NAME>
<BAR>
<BID>b1</BID>
<SOMETHING>15</SOMETHING>
</BAR>
<BAR>
<BID>b2</BID>
<SOMETHING>25</SOMETHING>
</BAR>
</FOO>
<FOO>
<FID>f2</FID>
<NAME>f2</NAME>
<BAR>
<BID>b1</BID>
<SOMETHING>35</SOMETHING>
</BAR>
<BAR>
<BID>b3</BID>
<SOMETHING>0</SOMETHING>
</BAR>
</FOO>
我需要的是:
b1 f1 15
b1 f2 35
b2 f1 25
b3 f2 0
任何人都知道,我會使用的語法? 我想:
for $foo in /root/FOO
for $bar in /root/FOO/BAR
let $fid := $foo/FID/text() where $foo/BAR/BID/text()=$bar/BID/text()
let $bid := $foo/BAR/BID/text() where $foo/BAR/BID/text()=$bar/BID/text()
let $something := $foo/BAR/SOMETHING/text() where $foo/BAR/BID/text()=$bar/BID/text()
你試過了什麼?堆棧溢出不是自由職業者自由平臺。另外,您的XML輸入格式不正確。 – 2014-11-22 20:34:46
修正了xml,我嘗試了Foo和Bar的雙重循環,但是產生了重複的結果 – 2014-11-22 21:00:42
現在看起來更好。對於一個很好的問題,還包括實際輸出(以及任何錯誤消息和警告)。查看[問]和[如何創建SSCCE](http://www.sscce.org)瞭解更多詳情。 – 2014-11-22 21:18:40