sql对xml的解析

适用:修改或添加多条记录的存储过程

例子:

DECLARE @idoc int

DECLARE @doc nvarchar(max)

SET @doc ='

<roots>

  <root>   

    <id>1</id>   

    <name>a</name>

  </root>

  <root>  

    <id>2</id>  

    <name>b</name>

  </root>

</roots>'

EXEC sp_xml_preparedocument @idoc OUTPUT, @doc

SELECT   

*

FROM  OPENXML (@idoc, '/roots/root',2)

WITH (id  nvarchar(10),name nvarchar(100))

openxml的参数解释

1,要解析的xml文本

2,解析的路径

3,1:为节点的属性 2:为节点的子节点

更多参考:ms-help://MS.SQLCC.v10/MS.SQLSVR.v10.zh-CHS/s10de_6tsql/html/8088b114-7d01-435a-8e0d-b81abacc86d6.htm

原文地址:https://www.cnblogs.com/eryang/p/2638191.html