C# 如何将SQL Server原始XML转换为C?

C# 如何将SQL Server原始XML转换为C?,c#,sql-server,xml,C#,Sql Server,Xml,我有一个CLR存储过程,它接收原始XML作为参数,例如: SET @xml = (SELECT * FROM titles FOR XML RAW) 将给予 <row id="1" description="Mr." /> <row id="2" description="Mrs." /> 上面的@xml被传递给一个通用CLR存储过程,该存储过程反过来需要解析它接收的数据 有没有一种简单的方法可以将原始XML转换为C语言的列表?根据下面的注释进行编辑 var xml

我有一个CLR存储过程,它接收原始XML作为参数,例如:

SET @xml = (SELECT * FROM titles FOR XML RAW)
将给予

<row id="1" description="Mr." />
<row id="2" description="Mrs." />
上面的@xml被传递给一个通用CLR存储过程,该存储过程反过来需要解析它接收的数据


有没有一种简单的方法可以将原始XML转换为C语言的列表?

根据下面的注释进行编辑

var xml =  XDocument.Parse(string.Format("<root>{0}</root>", @"<row id=""1"" description=""Mr."" /><row id=""2"" description=""Mrs."" />"));

var rows = from node in xml.Descendants("row")
           select new
           {
               Id = node.Attribute("id").Value,
               description = node.Attribute("description").Value
           };
上面将首先将xml包装在一个强制根中,它不需要被称为根,但XDocument要求有一个根节点,否则它将抛出一个抖动


然后使用LINQtoXML,我们将每个行节点的属性解析为匿名对象列表。您也可以创建一个类型化对象并以这种方式对其进行解析,但这实际上取决于您的需求。

它会包含任何描述的根节点还是仅包含单个行节点?@YannickMeeus它只是如上所示的原始xml。为了保持较小的大小,我不希望转换为完整的xml。您需要使用带有一致性类型片段的XmlReader,或者添加根节点并使用XmlDocument,请参阅。我需要将xml转换为C格式的列表。完全没有做到这一点-。-,请稍等,我看看是否可以挖掘一个示例。