如何从SQL表中的列获取XML数据?

Rom*_*ome 8 xml asp.net

我在SQL中有一个表,其中一个列是XML数据类型.我如何才能从SQL到ASP.NET(C#)代码隐藏中获得它的价值?我想将它存储为Xml类型而不是字符串类型,因为我需要操作它内部的值和属性.我试着把它放在一个字符串类型的变量上,我得到的是这样的:AAYYYNYNYNStarLight.我想要得到这个:

<ANSWERS>
<Answer item="ddl_3">A</Answer>
<Answer item="ddl_8">A</Answer>
<Answer item="ddl_13">Y</Answer>
<Answer item="ddl_16">Y</Answer>
<Answer item="ddl_19">Y</Answer>
<Answer item="ddl_22">N</Answer>
<Answer item="ddl_26">Y</Answer>
<Answer item="ddl_30">N</Answer>
<Answer item="ddl_34">Y</Answer>
<Answer item="ddl_38">N</Answer>
<Answer item="ddl_42">StarLight</Answer>
</ANSWERS>
Run Code Online (Sandbox Code Playgroud)

我该怎么做并且能够操纵每个节点?我是一个关于XML的完整菜鸟,任何帮助都会得到很大的帮助.:)

编辑:清理xml

R0M*_*RMY 2

我假设您直接使用 ADO.NET 而不是像实体框架这样的 ORM 从 SQL Server 获取数据。如果我正确阅读此处的文档,则 XML 列将作为XmlReader公开,您可以使用GetSqlXml方法进行检索。

拥有 XmlReader 后,您可以使用该Load方法将其直接加载到 XDocument 中。

您可能感兴趣的另一件事是有两个不同的 XML 命名空间,请查看有关XDocument 和 XmlDocument之间的差异的问题。