gpt4 book ai didi

XQuery 错误 : Attribute must follow the root element

转载 作者:行者123 更新时间:2023-12-02 05:19:29 24 4
gpt4 key购买 nike

祝大家新年快乐!

我正在使用 BaseX 学习 XQuery现在面临以下问题。

我正在解析 factbook.xml文件是分发的一部分。

以下查询运行正常:

 for $country in db:open('factbook')//country
where $country/@population < 1000000 and $country/@population > 500000
return <country name="{$country/name}" population="{$country/@population}">
{
for $city in $country/city
let $pop := number($city/population)
order by $pop descending
return <city population="{$city/population/text()}"> {$city/name/text()}
</city>
}
</country>

但是在尝试生成运行第二个查询的 html 时 - 如果我尝试将 "{$country/@population}"<h2>Country population: </h2>标记我看到一条错误消息“属性必须跟在根元素之后”。

 <html><head><title>Some Countries</title></head><body>
{
for $country in db:open('factbook')//country
let $pop_c := $country/@population
where $pop_c < 1000000 and $pop_c > 500000
return
<p>
<h1>Country: {$country/name/text()}</h1>
<h2>Country population: #error comes if I put it here!#</h2>
{
for $city in $country/city
let $pop := number($city/population)
order by $pop descending
return ( <h3>City: {$city/name/text()}</h3>,
<p>City population: {$city/population/text()}</p>
)
}
</p>
}
</body></html>

我的错误在哪里?谢谢!

最佳答案

只是使用:

{$country/@population}

复制结果中的属性总体。一个属性应该紧跟一个元素(或跟在该元素后面的其他属性)——但是这个属性跟在一个文本节点之后,这会导致引发错误。

使用:

<h2>Country population: {string($country/@population)} </h2>

关于XQuery 错误 : Attribute must follow the root element,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14110279/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com