我的查询不显示 xml 的结果 [英] My query in not presenting the results of the xml
问题描述
我正在尝试对我的工作进行查询,该查询在搜索 is 代码后显示了生产者的名称.当我尝试运行查询时,它没有显示任何结果.有什么帮助吗?PS-我使用 BaseX 来运行查询
I am trying to do a query for my work that shows the name of a producer after searching for is code. When i try to run the query it doesn't show any result. Any help? PS- I am using BaseX to run the querys
查询
for $x in
doc("macaMoimenta.xml")/moimenta/produtores/produtor
where $x/codigo="PR001"
return $x/nome
我的 XML 文件
<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" href="style_macaMoimenta.xsl"?>
<moimenta xmlns="http://www.macamoimenta.pt/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:gnr="http://www.macamoimenta.pt/general" xmlns:clt="http://www.macamoimenta.pt/lote"
xmlns:prc="http://www.macamoimenta.pt/precario"
xmlns:clb="http://www.macamoimenta.pt/calibragem"
xsi:schemaLocation="http://www.macamoimenta.pt/ moimenta.xsd">
<produtores>
<produtor>
<codigo>PR001</codigo>
<nome>Antonio Manuel</nome>
<data_registo>2018-03-20</data_registo>
<morada>
<gnr:rua>Rua Antonio Manuel</gnr:rua>
<gnr:numero>69</gnr:numero>
<gnr:cod_postal>4569-123</gnr:cod_postal>
</morada>
<colheita ano="2018" qualidade="Ambrosia">
<cod_colheita>FE23569</cod_colheita>
<valor>
<prc:preco_valor valor="0-60">
<prc:preco>0.10</prc:preco>
</prc:preco_valor>
<prc:preco_valor valor="60-65">
<prc:preco>0.13</prc:preco>
</prc:preco_valor>
<prc:preco_valor valor="65-70">
<prc:preco>0.17</prc:preco>
</prc:preco_valor>
<prc:preco_valor valor="DEFEITO">
<prc:preco>0.05</prc:preco>
</prc:preco_valor>
</valor>
<lotes>
<lote>
<clt:n_lote>236598</clt:n_lote>
<clt:quantidade>2500</clt:quantidade>
<clt:calibragem>
<clb:calib valor="0-60">
<clb:quantidade>1000</clb:quantidade>
</clb:calib>
<clb:calib valor="60-65">
<clb:quantidade>1300</clb:quantidade>
</clb:calib>
<clb:calib valor="DEFEITO">
<clb:quantidade>200</clb:quantidade>
</clb:calib>
</clt:calibragem>
</lote>
</lotes>
</colheita>
</produtor>
</produtores>
我不明白为什么它不起作用,因为一切看起来都很好.非常感谢!;)
I don't understand why it's not working because everything looks well. Thank You very much! ;)
推荐答案
为您的查询添加前缀
declare default element namespace "http://www.macamoimenta.pt/";
(参见 https://www.w3.org/TR/xquery-31/#id-default-namespace),你会发现路径开始选择一些东西.
(see https://www.w3.org/TR/xquery-31/#id-default-namespace) and you will find that the paths start to select something.
https://xqueryfiddle.liberty-development.net/pPgCcon 有一个在线示例虽然 https://xqueryfiddle.liberty-development.net/pPgCcon/1 使用return data($x/nome)
而不是 return $x/nome
可能更明显地显示结果.
https://xqueryfiddle.liberty-development.net/pPgCcon has an online sample although https://xqueryfiddle.liberty-development.net/pPgCcon/1 which uses return data($x/nome)
instead of return $x/nome
might be more obvious to show the result.
这篇关于我的查询不显示 xml 的结果的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!