Подтвердить что ты не робот

Как выбрать значение атрибута node в 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
4b9b3361

Ответ 1

Вы должны использовать данные для выбора значения атрибута: -

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

Ответ 2

Вы также можете использовать string для получения значения атрибута:

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