30

在下面的 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
4

2 回答 2

55

您应该使用数据来选择属性值:-

for $c in /company/customers/customer
return data($c/@cno)
于 2013-04-17T05:11:52.710 回答
14

您还可以使用string获取属性值:

for $c in /company/customers/customer
    return $c/@cno/string()
于 2015-03-04T13:17:12.577 回答