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

C# 如何在sql server中读取存储过程中的xml文件并将其插入表中,c#,sql,sql-server,xml,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;

您好,我有以下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>

考虑到您有一个与下面一样的有效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中有两个错误。属性值不包含在双引号中。那么属性应该用空格而不是分号分隔

您使用的是什么编程语言?您试图从XML中解析数据的内容是什么?@BhavikShah我们正在使用CTH这是一种格式,我将获取需要读取的文件并将其存储在表格中检查这不是正确的XML,除非您复制粘贴错误且没有引号。感谢您的帮助。得到了我想要的内容。实际上,XML是由开发人员和我必须阅读并将其插入表中,因此要求开发人员进行相应的更改