web-dev-qa-db-fra.com

comment sélectionner la valeur d'attribut d'un nœud dans XQuery?

Dans XML ci-dessous:

<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>

J'ai besoin d'obtenir le non du client qui est un attribut. Dans XPath, je sais que c'est /company/customers/customer/@cno, dans XQuery, j'ai essayé l'expression ci-dessous mais cela n'a pas fonctionné pour moi:

for $c in /company/customers/customer
return $c/@cno
23
Itz.Irshad

Vous devez utiliser les données pour choisir la valeur d'attribut: -

for $c in /company/customers/customer
return data($c/@cno)
46
Navin Rawat

Vous pouvez également utiliser string pour obtenir la valeur d'attribut:

for $c in /company/customers/customer
    return $c/@cno/string()
12
Nikunj Vekariya