Я хочу получить некоторые данные из xml с помощью xquery. Оригинальный XML является чем-то вроде:Ошибка XQuery: E Для строки ввода: «5770000»
<mondial>
<country id="AAA" name="BBB">
<name>BBB</name>
<city id="CCC" country="AAA">
<name>DDD</name>
<population>XXXX</population>
<located_at type="XX"/>
</city>
...
</country>
...
</mondial>
Я пишу XQuery так:
let $cs:=//city[population >5000000 and located_at/@type='sea']
let $countries := //country
for $country in $countries
for $city in $cs
where $country/@id =$city/@country
return <seacity>{data($city/name)},{data($country/name)}</seacity>
я использую кислород, чтобы сделать преобразование. Вышла ошибка:
E For input string: "5770000"
Я не признаю эту ошибку специально, но вы недостающую декларацию XQuery, и ваши ссылки запроса ' locate_at' вместо 'local_at', имя элемента из вашего XML. – wst
Глядя на скриншот, кажется, что ваш XML сломан. Либо у вас очень странный шрифт, либо кавычки не являются нормальными, указанными ('' 'и' ''), а некоторыми типографскими кавычками. Кроме того, красная точка перед именем делает меня подозрительным. Имеет ли этот XML-файл был пройден через какой-то редактор слов? –
@wst Я перехожу на local_at, и он все еще не работает ... – Mayoco