sql server中的XMLNS问题

时间:2012-08-20 21:10:33

标签: mysql sql sql-server database oracle

有选择

的值的问题
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

2 个答案:

答案 0 :(得分:1)

您的子元素也位于名称空间

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

答案 1 :(得分:0)

这就是我的意思:

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