Xamarin C# 多个实例xml序列化与反序列化
首先是实例类
public class Daten
{
[XmlElementAttribute(IsNullable = false)]
public string GAME { set; get; }
public string PLATFORM { set; get; }
public string RELEASED { set; get; }
}
}
然后再创建一个类,包含一个List<Daten>的变量。
public class DatenList
{//根节点
[XmlElement("Daten")]
public List<Daten> datens;
public DatenList()
{ datens = new List<Daten>(); }
}
序列化
//存储路径
var newFile = Path.Combine(FileSystem.AppDataDirectory, filename);
XmlSerializer xs = new XmlSerializer(typeof(DatenList));
TextWriter writer = new StreamWriter(newFile);
xs.Serialize(writer, dl);
writer.Close();
反序列化
var newFile = Path.Combine(FileSystem.AppDataDirectory, "gameregister.xml");
if (File.Exists(newFile))
{ XmlSerializer xs = new XmlSerializer(typeof(DatenList));
FileStream read = new FileStream(newFile, FileMode.Open, FileAccess.Read, FileShare.Read);
DatenList displaylist= (DatenList)xs.Deserialize(read);
read.Close();}
文件示例
<?xml version="1.0" encoding="UTF-8"?>
-<DatenList xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
-<Item><GAME>2</GAME>
<PLATFORM>3</PLATFORM>
<RELEASED>4</RELEASED>
</Item>
-<Item><GAME>3</GAME>
<PLATFORM>4</PLATFORM>
<RELEASED>5</RELEASED>
</Item>
-<Item><GAME>5</GAME>
<PLATFORM>5</PLATFORM>
<RELEASED>5</RELEASED>
</Item>
</DatenList>