I'm looking for help reading an XML file into a SQL Server 2008 R2 data table.
My XML file looks like this:
<?xml version="1.0" encoding="utf-8"?>
<e_objects xmlns="http://www.blank.info/ns/2012/objects">
<item item_id="41-FE-001">
<class display="true">
<class_name>FEEDER</class_name>
</class>
</item>
</e_objects>
My create table SQL looks like this:
CREATE TABLE [dbo].[handover_data](
[item_id] [nchar](15) NULL,
[class] [nchar](10) NULL,
) ON [PRIMARY]
GO
This is the SQL I'm using. I can't get it to return any values:
SELECT xmldata.value('(item[@name="item_id"]/@value)[1])', 'NCHAR') AS item_id,
xmldata.value('(class_name)', 'NCHAR') AS class
FROM (
SELECT CAST(x AS XML)
FROM OPENROWSET(BULK 'C:\xmlfile.xml',
SINGLE_BLOB) AS T(x)) AS T(x)
CROSS APPLY x.nodes('e_objects/*') AS X(xmldata);
Any help would be greatly appreciated. Thanks