獲得したデータを保持するクラスを使用して、xml にエクスポート (およびインポート) できます。
を使用し[Serializable]
て、クラスを xml エクスポートで使用できるようにします。たとえば、このクラスがある場合:
[Serializable]
public class MyClassThatKeepTheData
{
public List<int> cListWithValues;
public int Value1;
public int Value2;
}
次に、XmlSerializer を使用して、次のように XML (およびその逆) に変換できます。
public static string ObjectToXML(Type type, object obby)
{
XmlSerializer ser = new XmlSerializer(type);
using (System.IO.MemoryStream stm = new System.IO.MemoryStream())
{
//serialize to a memory stream
ser.Serialize(stm, obby);
//reset to beginning so we can read it.
stm.Position = 0;
//Convert a string.
using (System.IO.StreamReader stmReader = new System.IO.StreamReader(stm))
{
string xmlData = stmReader.ReadToEnd();
return xmlData;
}
}
}
public static object XmlToObject(Type type, string xml)
{
object oOut = null;
if (xml != null && xml.Length > 0)
{
System.Xml.Serialization.XmlSerializer serializer = new System.Xml.Serialization.XmlSerializer(type);
using (System.IO.StringReader sReader = new System.IO.StringReader(xml))
{
oOut = serializer.Deserialize(sReader);
sReader.Close();
}
}
return oOut;
}
次のように XML に変換します。
MyClassThatKeepTheData cTheObject = new MyClassThatKeepTheData();
ObjectToXML(typeof(MyClassThatKeepTheData), cTheObject)
相対:
ビューステートのクラスを最適化する方法
また、protobuf-netはXMLではありませんが、はるかに高速で同じ作業を行うこともお勧めします