我有一個SQL Server中有一個XML類型列的表。我們如何從C#中讀取SQL Server中的XML類型列?
該列具有XML類型的動態值,我想在C#中讀取它的表。
我們如何區分XML中的每個屬性?
我有一個SQL Server中有一個XML類型列的表。我們如何從C#中讀取SQL Server中的XML類型列?
該列具有XML類型的動態值,我想在C#中讀取它的表。
我們如何區分XML中的每個屬性?
像這樣從數據庫中獲取列。 CodeAndPassword(string)是類的屬性。
CodeAndPassword = Serializer.DeSerialize<Config>(row.Field<string>("Explanation"));
而且你的反序列化功能sholud是這樣
public static string DeSerialize<T>(string xml)
{
XmlDocument xmlDoc = new XmlDocument();
xmlDoc.PreserveWhitespace = false;
xmlDoc.LoadXml(xml);
Config config = Serializer.DeSerialize<Config>(xmlDoc.DocumentElement);
string code = config.Login.Code;
string password = config.Login.Pass;
return code + "+" + password;
}
這裏是我們的配置類
[Serializable]
public class Config
{
public ConfigLogin Login { get; set; }
}
[XmlRoot("Login")]
public class ConfigLogin
{
public string Code { get; set; }
public string Pass { get; set; }
}
這是行,但我不是我的問題,我設計了一個Portal數據庫。爲了創建一個數據庫,你可以在你的數據庫中有任何表,但是現在我有一個帶有5個表的數據庫,它的一個表可以節省許多表的模板最後現在我無法檢測XML屬性上每個表的屬性,因爲每行的行都是動態的 –
也許你可以像if(row [「myColumn」]。包含('<'))一樣檢查它的內容。@ SteveM.Jalili –
是如何的問題,你可以在XML從SQL表中讀取,或者是還有別的嗎?你可以發佈你想做的代碼片段嗎? –
別無他法。我可以閱讀XML。在xml類型中,有一個具有deffrent長度的xml節點,因爲它可以通過門戶視圖創建數據庫。我需要處理c#中每個記錄的deffrent類型。例如一個記錄在xml feild中有20個屬性,其他記錄在xml feild中有50個屬性 –
除非我誤解了你,否則你將不得不遍歷返回的xml中的節點/元素,並且執行你需要的任何操作。看到一個例子,看看這個stackoverflow [問題和答案](https://stackoverflow.com/questions/2915294/iterating-through-all-nodes-in-xml-file)。 –