J'ai ceci:.Comment choisir l'attribut de nœud parent et ses valeurs enfants en utilisant XML et Xquery?
<pss>
<ps n="А parent node" m="654564654" t="435,8551" a="2857,2716">
<sc s="a1" a="25,4220"/>
<sc s="a2" a="0"/>
<sc s="a3" a="2395,9945"/>
</ps>
...
</pss>
je dois sélectionner « attribut nœud parent А m et a1-a2 a des valeurs dans une requête j'ai essayé cela, mais cela ne fonctionne pas:
SELECT ps.value('@m', 'nvarchar(50)') "parent node",
-- sc.value('@a1', 'nvarchar(50)') "название услуги",
-- sc.value('@a2', 'nvarchar(50)') "стоимость услуги",
ps.value('@a3, 'nvarchar(50)') "b","
FROM mts.dbo.bill
OUTER APPLY xCol.nodes('//Report/rp/pss/ps') AS A(ps)
OUTER APPLY xCol.nodes('//Report/rp/pss/ps/sc/.') AS B(sc)
Thanx à l'avance.
thanx, mais ERREUR: XQuery [mts.dbo.bill.xCol.nodes()]: Il n'y a pas de fonction « {} http://www.w3.org/2004/07/xpath-functions :prénom()'. –
"Il n'y a pas d'attributs a1, a2 ou a3 dans le document XML fourni!" - Ceci est l'attribut "s" de noeud, désolé –
@Kai: Ma réponse est en XPath pur 1.0 - vous n'avez pas spécifié XQuery comme une balise !. Maintenant, j'ai mis à jour la réponse et il fonctionnera à la fois dans XPath 1.0 et XPath 2.0 (XQuery est un sur-ensemble de XPath 2.0). –