我们如何从C#中读取SQL Server中的XML类型列?

时间:2017-07-12 05:50:28

标签: c# sql-server

我在SQL Server中有一个包含XML类型列的表。

该列在XML类型中具有动态值,我想在C#中读取它。

我们如何分离XML中的每个属性?

1 个答案:

答案 0 :(得分:0)

从这样的数据库中获取列。 CodeAndPassword(字符串)是类的属性。

CodeAndPassword = Serializer.DeSerialize<Config>(row.Field<string>("Explanation"));

你的DeSerialize函数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; }
}