我在SQL中有一个表,其中一列是一个XML数据类型。我如何能够从SQL到ASP.NET(C#)代码隐藏中获得它的价值?我想将它作为Xml类型存储,而不是字符串类型,因为我需要操作其中的值和属性。我试着把它放在一个字符串类型变量上,我得到的是这样的:AAYYYNYNYNStarLight。我想代之以:如何从SQL表中的列中获取XML数据?
<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>
我该怎么做,并能够操纵每个节点?我是一个关于XML的完整小白,任何帮助都会被大量使用。 :)
编辑:清理XML
我检查了关于该XDocument.Parse的链接,但它只接受字符串类型作为参数。而我的列是一个Xml类型。如果我将它从XML(SQL数据类型)存储到字符串xmlValue,则所有xml标记都将消失。所以当我尝试使用XDocument.Parse(xmlValue)时,它会抛出一个错误“该字符串未被识别为有效的Uri。” – Rome 2011-04-28 03:53:11
@罗姆:哦,我误解了你的问题,让我编辑。 – R0MANARMY 2011-04-28 03:54:44
我实际上有一个使用该XmlReader的问题,因为我们有一个单独的类用于所有数据访问。当我尝试这种方法时,我得到了“阅读器关闭时无效尝试阅读”。我认为这是因为在数据访问类将xml结果返回到代码隐藏之后,数据访问类将关闭XmlReader。无论如何,谢谢你告诉我关于XDocument。它给了我一个替代解决方案。我会将SQL文档中的XML文档存储为一个字符串而不是XML类型(我知道这不是一个非常优雅的解决方案)。然后,当我检索它时,我将使用XDocument.Parse:D – Rome 2011-04-28 05:51:35