XQuery的新手,可能是菜鸟q。我安装了一个BaseX数据库作为我的沙箱(其中包含一个示例文件etc / factbook.xml)。我构建了一个简单的查询,我认为它将返回所有“城市”的人口> 1000万。
for $x in doc("etc/factbook.xml")/mondial/country
where $x/city/population > 10000000.0
return $x/city
但是我的人口较少,有任何见解的城市?
<city id="f0_1726" country="f0_553" longitude="126.967" latitude="37.5667">
<name>Seoul</name>
<population year="95">10229262</population>
</city>
<city id="f0_10300" country="f0_553">
<name>Kunsan</name>
<population year="95">266517</population>
</city>
(I've only included first two but many more both < and > 10million)
答案 0 :(得分:2)
您将返回所有拥有人口超过1000万的城市的国家/地区。而不是遍布城市(请使用有意义的变量名称):
for $city in doc("etc/factbook.xml")/mondial/country/city
where $city/population > 10000000
return $city
或者只是去做一个XPath表达式:
doc("etc/factbook.xml")/mondial/country/city[population > 10000000]