DataSet到XDocument转换并返回

时间:2010-09-27 22:38:27

标签: dataset linq-to-xml

我正在开发一个应用程序,我需要将DataSet转换为中间层中的XDOcument(XDOcument比XmlDocument轻得多),然后将XDocument转换回前端的DataSet。

我无法找到一种有效的方法。截至目前,我正在将DataSet转换为XMlDocumenmt,然后转换为XDocument,反之亦然。还有更好的方法吗?

感谢。

1 个答案:

答案 0 :(得分:3)

DataSet是可序列化的。这可能比XDocument更容易运输。

string xmlString;

System.Xml.Serialization.XmlSerializer oSerializer = new System.Xml.Serialization.XmlSerializer(typeof(DataSet));

DataSet ds = new DataSet();
StringBuilder sb = new StringBuilder();

//One side
using (StringWriter sw = new StringWriter(sb))
{
    oSerializer.Serialize(sw, ds);
    xmlString = sb.ToString();
}

//Other side
using (StringReader sr = new StringReader(xmlString))
{
    ds = (DataSet)oSerializer.Deserialize(sr);
}