我在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