簡體   English   中英

xquery返回元素名稱

[英]xquery to return the element name

DECLARE @XML XML
SET @xml = '
<root>
    <a>
        <DATE_OF_BIRTH> 19871224</DATE_OF_BIRTH> 
        <DRIVER> MIKE </DRIVER> 
    </a>
    <a>
        <DATE_OF_BIRTH> 19881124</DATE_OF_BIRTH> 
        <DRIVER> TOM </DRIVER> 
    </a>
    <a>
        <DATE_OF_BIRTH> 19770601</DATE_OF_BIRTH> 
        <DRIVER> DAVID </DRIVER> 
    </a>
</root>'

select x.value('.','varchar(100)')
from @xml.nodes('//a') as T(X)

我想使用xquery返回元素名稱

這樣的結果

出生日期

DRIVER

我怎樣才能做到這一點?

非常感謝你。

使用local-name()name()如果要包括命名空間),所以它應該是

//a/*/local-name()

如果您嘗試以下操作:

select X.query('local-name(.)')
from @xml.nodes('//a/*') as T(X)

它會返回:

DATE_OF_BIRTH
DRIVER
DATE_OF_BIRTH
DRIVER
DATE_OF_BIRTH
DRIVER

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM