W poniższej XML:Jak wybrać wartość atrybutu węzła w XQuery?
<company>
<customers>
<customer cno="2222">
<cname>Charles</cname>
<street>123 Main St.</street>
<city>Wichita</city>
<zip>67226</zip>
<phone>316-636-5555</phone>
</customer>
<customer cno="1000">
<cname>Bismita</cname>
<street>Ashford Dunwoody</street>
<city>Wichita</city>
<zip>67226-1555</zip>
<phone>000-000-0000</phone>
</customer>
</customers>
</company>
Muszę nr klienta, który jest atrybutem. W XPath wiem, że jest /company/customers/customer/@cno
w XQuery Próbowałem poniżej wypowiedzi, ale nie działa dla mnie:
for $c in /company/customers/customer
return $c/@cno
XQuery używa zwykłego XPath; twoja próba działa dla mnie. Co daje ci 'return $ c'? – Tomalak
Używam do tego oprogramowania EditX, ale pokazuje błąd "Nie można utworzyć węzła atrybutu, którego rodzicem jest węzeł dokumentu." Czy możesz mi powiedzieć, w jakim narzędziu to wypróbujesz, więc mogę przełączyć się na to narzędzie. Może to być problem specyficzny dla narzędzia. –
możliwy duplikat [Używanie XQuery/XPath do uzyskania wartości atrybutu węzła nadrzędnego elementu] (http://stackoverflow.com/questions/2166014/using-xquery-xpath-to-get-the- attribute-value-of -an-elements-parent-node) – Tomalak