Sqlserver
 sql >> Base de Dados >  >> RDS >> Sqlserver

arquivo xml do servidor sql 2008 para tabela


Você está ignorando o namespace XML definido no elemento raiz:
<xml_objects xmlns="http://www.blank.info/ns/2002/ewobjects">
             ***********************************************

Você precisa adicionar isso à sua consulta:
;WITH XMLNAMESPACES(DEFAULT 'http://www.blank.info/ns/2002/ewobjects')
SELECT 
     xmldata.value('(@item_id)', 'NCHAR') AS item_id       
FROM 
    (SELECT CAST(x AS XML)
     FROM OPENROWSET(BULK 'C:\xmlfile.xml',
     SINGLE_BLOB) AS T(x)) AS T(x)
CROSS APPLY 
     x.nodes('//xml_objects/item_id') AS X(xmldata);