1.需要读取的XML 格式:
1 <?xml version="1.0" standalone="yes"?> 2 <DocumentElement> 3 <hsData> 4<HS编码>9803009000</HS编码> 5<商品中文名>其他定制型软件</商品中文名> 6<海关监管条件 /> 7<检验检疫类别 /> 8<版本号 /> 9 </hsData>10 <hsData>11<HS编码>9803003000</HS编码>12<商品中文名>定制型应用软件</商品中文名>13<海关监管条件 />14<检验检疫类别 />15<版本号 />16 </hsData>17 <hsData>18<HS编码>2922399020</HS编码>19<商品中文名>灭藻醌</商品中文名>20<海关监管条件 />21<检验检疫类别 />22<版本号 />23 </hsData>24 </DocumentElement>
2.SQL 代码
IF OBJECT_ID('XML_HSData') IS NULLBEGINCREATE TABLE XML_HSData(HS编码 NVARCHAR(50) ,商品中文名 NVARCHAR(100) ,海关监管条件 NVARCHAR(20) ,检验检疫类别 NVARCHAR(30) ,版本号 NVARCHAR(10))ENDELSEBEGINTRUNCATE TABLE XML_HSDataENDDECLARE @h INT-- 定义xml句柄DECLARE @doc XML-- 定义xml对象SELECT @doc = BulkColumnFROM OPENROWSET(BULK 'C:\hsData.xml', SINGLE_BLOB) AS xmlData-- 获得xml对象EXECUTE sp_xml_preparedocument @h OUTPUT, @doc-- 获得xml句柄-- 插入表中INSERT INTO XML_HSDataSELECT *FROM OPENXML(@h, '/DocumentElement/hsData', 2) WITH XML_HSDataEXECUTE sp_xml_removedocument @h -- 删除xml句柄SELECT * FROM XML_HSData
3. 效果: