Sqlserver
 sql >> Database >  >> RDS >> Sqlserver

sql server 2008 file xml alla tabella

Stai ignorando lo spazio dei nomi XML definito nell'elemento radice:

<xml_objects xmlns="http://www.blank.info/ns/2002/ewobjects">
             ***********************************************

Devi aggiungere questo alla tua query:

;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);