我有一個如下所示的 XML 檔案:
<CITY>
<STREET>
<HOUSE>
<FLAT>
<INHABITANT Year="1990" Gender="M">John Doe</INHABITANT>
<INHABITANT Year="1990" Gender="F">Jane Doe</INHABITANT>
<INHABITANT Year="1990" Gender="M">John Doe</INHABITANT>
</FLAT>
</HOUSE>
</STREET>
</CITY>
使用 XQuery 我需要回傳這個:
<GENDERS><FEMALES>1</FEMALES><MALES>2</MALES></GENDERS>
我該怎么做呢?代碼是什么?據我了解,XQuery 用于 XML,SQL 用于資料庫,所以這給了我一個想法。這是一個需要 XQuery 的學校專案,我對此有 0 經驗。
uj5u.com熱心網友回復:
一種可能的解決方案如下:
let $doc := document {
<CITY>
<STREET>
<HOUSE>
<FLAT>
<INHABITANT Year="1990" Gender="M">John Doe</INHABITANT>
<INHABITANT Year="1990" Gender="F">Jane Doe</INHABITANT>
<INHABITANT Year="1990" Gender="M">John Doe</INHABITANT>
</FLAT>
</HOUSE>
</STREET>
</CITY>
}
return element GENDERS {
let $genders := $doc//INHABITANT/@Gender
return (
element FEMALES { count($genders[. = 'F']) },
element MALES { count($genders[. = 'M']) }
)
}
uj5u.com熱心網友回復:
結合我在這篇文章中得到的答案,我制作了這個完全符合需要的代碼。感謝所有插話的人(Christian Grūn)
let $male:=//INHABITANT[@Gender="M"]
let $female:=//INHABITANT[@Gender="F"]
return
<GENDERS>
<FEMALES>{count($female)}</FEMALES>
<MALES>{count($male)}</MALES>
</GENDERS>
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/429367.html
