web-dev-qa-db-ja.com

XQueryでノードの属性値を選択する方法は?

以下のXMLで:

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

顧客の属性を取得する必要があります。 XPathでは、/company/customers/customer/@cno、XQueryで以下の式を試してみましたが、うまくいきませんでした。

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

データを使用して属性値を選択する必要があります-

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

stringを使用して属性値を取得することもできます。

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