我正在使用http://xpatheval.apphb.com/這個網站,它運行良好,我只是遇到了代碼問題并獲得了我需要的價值。我在這里有一個 XML 代碼:
<?xml version="1.0"?>
<RIGA>
<STREET Name="Brivibas">
<HOUSE No="1">
<FLAT No="1">
<INHABITANT Year="1970" Gender="M">Ivanovs Sergejs</INHABITANT>
<INHABITANT Year="1970" Gender="F">Ivanova Anna</INHABITANT>
</FLAT>
<FLAT No="2">
<INHABITANT Year="1972" Gender="M">Strods Janis</INHABITANT>
<INHABITANT Year="1972" Gender="F">Strode Inna</INHABITANT>
<INHABITANT Year="1974" Gender="F">Strode Julija</INHABITANT>
</FLAT>
</HOUSE>
<HOUSE No="2">
<FLAT No="1">
<INHABITANT Year="1974" Gender="M">Zemzars Uldis</INHABITANT>
</FLAT>
</HOUSE>
</STREET>
<STREET Name="Elizabetes">
<HOUSE No="1">
<FLAT No="1">
<INHABITANT Year="1985" Gender="M">Celms Juris</INHABITANT>
</FLAT>
<FLAT No="2">
<INHABITANT Year="1988" Gender="M">Dmitrijevs Igors</INHABITANT>
<INHABITANT Year="1988" Gender="F">Dmitrijeva Svetlana</INHABITANT>
<INHABITANT Year="1989" Gender="F">Dmitrijeva Olga</INHABITANT>
<INHABITANT Year="1989" Gender="M">Dmitrijevs Pjotrs</INHABITANT>
</FLAT>
</HOUSE>
</STREET>
</RIGA>
我寫的 Xquery 代碼是這樣的:
<MALES>
{let $male:=//INHABITANT[@Gender="M"]
for $male in (1 to 6)
return <MALE>{$male}</MALE>}
</MALES>
我越來越:
<MALES>
<MALE>1</MALE>
<MALE>2</MALE>
<MALE>3</MALE>
<MALE>4</MALE>
<MALE>5</MALE>
<MALE>6</MALE>
</MALES>
但我需要的是:
<MALES>
<MALE>First Name Last Name</MALE>
<MALE>First Name Last Name</MALE>
<MALE>First Name Last Name</MALE>
<MALE>First Name Last Name</MALE>
<MALE>First Name Last Name</MALE>
<MALE>First Name Last Name</MALE>
</MALES>
我的代碼哪里出錯了?
我有 0 次使用 XML 和 Xquery 的經驗
uj5u.com熱心網友回復:
您需要將 XPath 運算式的文本節點系結到變數,而不是數字 1 到 6:
<MALES>{
for $male in //INHABITANT[@Gender = "M"]/text()
return <MALE>{ $male }</MALE>
}</MALES>
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/429366.html
