Ich habe Probleme beim Entwerfen einer Xquery. Meine XML sieht aus wie ein Pokemon Datenbank:Beratung Elemente in Elementen mit xquery
<species id="a0001">
<name></name>
<description></description>
<type></type>
<type></type> (can have different types)
<type></type>
<attack>
<has-attack id="p01"/>
<has-attack id="p02"/>
</attack>
<evolution>
<species id="a0002">
.
.
.
<evolution>
<species id="a0003">
.
.
.
</species>
</evolution>
</species>
<species id="a0004">
.
.
.
</species>
</evolution>
</species>
Was Im versuchen zu tun, ist es, alle Arten mit dem Typ „Fire“ zu bekommen.
declare variable $tipo as xs:string := "Fire";
for $b in doc(".xml")/bd/species
let $nattacks:= count ($b/attacks)
where $b/type= $type
return <result>
{$b/@id}
{$b/name}
<na>{$nattacks}</na>
</result>
Aber ich weiß nicht, wie in der „Evolutions“ -Label auf die Art zuzugreifen, jede Hilfe?
es nur sein, zeigt mir die erste Spezies id = A0001 – aldonair92
Sie können '// species' alle finden' species' Elemente in der gesamten XML : 'doc (". xml ") // Spezies. Was ist das Problem damit? – har07
Danke, ich wusste nicht, dass Sie // verwenden können, um alle Elemente im Dokument zu finden. – aldonair92