如何使用Linq to SQL将对象序列化并保存为Xml格式的数据库 [英] How to serialize and save an object to database as Xml using Linq to SQL
本文介绍了如何使用Linq to SQL将对象序列化并保存为Xml格式的数据库的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我正在使用FileStream将对象序列化为Xml并保存到磁盘
I were using FileStream to Serialize an Object to Xml and Save to the disk
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将序列化的Object作为Xml保存到Sql Server 2008数据库的XML列中?以及如何从数据库中反序列化相同的内容?
This works fine and Xml file is generated on disk. How do I save serialized Object as Xml into a Sql Server 2008 database's XML column using Linq to SQL? And how to deserialize the same from database?
推荐答案
序列化为XElement
To serialize into an 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();
}
这篇关于如何使用Linq to SQL将对象序列化并保存为Xml格式的数据库的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文