简体   繁体   中英

XMLNS issue in sql server

having issue to select value for

create table #XMLTest
    (ItemXML xml)


insert into #XMLTest (ItemXML) values ( 
'<MessageType xmlns="ss"> <Subject>sub</Subject> </MessageType>'
)

WITH XMLNAMESPACES('ss' as x)

SELECT 
   ItemXML.query('(/x:MessageType/Subject)') 
FROM 
   #XMLTest 

drop table #XMLTest

Your subelements are also in the name space

WITH XMLNAMESPACES('ss' as x)
SELECT 
   ItemXML.query('(/x:MessageType/x:Subject)') 
FROM 
   #XMLTest 

This is what I go with:

WITH XMLNAMESPACES('ss' as x)
SELECT 
   ItemXML.query('(/x:MessageType/x:Subject)').value('.','varchar(20)')
FROM 
   #XMLTest 

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM