0

有选择价值的问题

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
4

2 回答 2

1

您的子元素也在名称空间中

WITH XMLNAMESPACES('ss' as x)
SELECT 
   ItemXML.query('(/x:MessageType/x:Subject)') 
FROM 
   #XMLTest 
于 2012-08-20T21:19:03.083 回答
0

这就是我的选择:

WITH XMLNAMESPACES('ss' as x)
SELECT 
   ItemXML.query('(/x:MessageType/x:Subject)').value('.','varchar(20)')
FROM 
   #XMLTest 
于 2012-08-20T21:28:10.620 回答