gpt4 book ai didi

c# - 如何使用 Linq to SQL 将对象序列化并保存到数据库中作为 Xml

转载 作者:太空狗 更新时间:2023-10-29 21:31:25 24 4
gpt4 key购买 nike

我正在使用 FileStream 将对象序列化为 Xml 并保存到磁盘

Stream str = new FileStream(@"serializedstate.xml", FileMode.OpenOrCreate)
XmlSerializer x = new XmlSerializer(typeof(GridState));
x.Serialize(str, new GridState
{
GridName= txtGridName.Text,
GridColumns = GetGridColumnStates()
});

这工作正常并且在磁盘上生成了 Xml 文件。如何使用 Linq to SQL 将序列化对象作为 Xml 保存到 Sql Server 2008 数据库的 XML 列中?以及如何从数据库反序列化?

最佳答案

序列化为 XElement

        XmlSerializer x = new XmlSerializer(typeof(GridState));
XDocument doc = new XDocument();

using (XmlWriter xw = doc.CreateWriter())
{
x.Serialize(xw, new GridState
{
GridName= txtGridName.Text,
GridColumns = GetGridColumnStates()
});
xw.Close();
}

XElement el = doc.Root;

反序列化

        using (XmlReader xr = el.CreateReader())
{
GridState myDeserializedObject = x.Deserialize(xr) as GridState;
xr.Close();
}

关于c# - 如何使用 Linq to SQL 将对象序列化并保存到数据库中作为 Xml,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1825124/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com