Наборы данных являются сериализуемыми. Это, вероятно, будет легче транспортировать, чем 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);
}