如何在存储过程中读取xml文件并将其插入sql server中的表中

时间:2017-06-19 05:33:02

标签: c# sql sql-server xml

您好我有以下XML文件。我是否读取它并使用存储过程将数据插入表中

<NewDataSet>
<Root RowNumber=1; answer = 1; TAnswer=null/>
<Root RowNumber=2; answer = 6; TAnswer=yes for Q 2/>
<Root RowNumber=3; answer = 9; TAnswer=null/>
<Root RowNumber=4; answer = -1; TAnswer=q 4 no suggestions/>
</NewDataSet>

1 个答案:

答案 0 :(得分:1)

考虑到你有一个有效的xml,如下所示。

DECLARE @xml XML

SET @xml = '
<NewDataSet>
<Root RowNumber = "1" answer = "1" TAnswer = "null" />
<Root RowNumber = "2" answer = "6" TAnswer = "yes for Q 2" />
<Root RowNumber = "3" answer = "9" TAnswer = "null" />
<Root RowNumber = "4" answer = "-1" TAnswer = "q 4 no suggestions" />
</NewDataSet>'

SELECT RowNumber = T.A.value('@RowNumber', 'int'),
       answer = T.A.value('@answer', 'int'),
       TAnswer = T.A.value('@TAnswer', 'varchar(1000)')
FROM   @xml.nodes('//NewDataSet/Root') T (A) 

注意: XML中有两个错误。 {em>双引号未附加Attributes个值。然后attributes应该用空格分隔,而不是用分号