7. public class hidari
{
public string Address { get; set; }
public int Age { get; set; }
}
var i = new hidari{Address="Osaka", Age=27};
var serializer = new
DataContractSerializer(typeof(hidari));
var fs = new FileStream(@".i.xml",
FileMode.Create);
serializer.WriteObject(fs, i);
fs.Close();
13年10月15日火曜日
15. DataContractSerializer
デシリアライズしてみる
-> ReadObjectメソッド
var serializer = new DataContractSerializer(typeof(hidari));
var fs = new FileStream(@"./i.xml", FileMode.Open);
var value = (hidari)serializer.ReadObject(fs);
fs.Close();
<?xml version="1.0" encoding="utf-8"?>
<hidari xmlns:i="http://www.w3.org/2001/XMLSchemainstance" xmlns="http://schemas.datacontract.org/2004/07/
ConsoleApplication7">
<Address>Osaka</Address>
<Age>27</Age>
</hidari>
13年10月15日火曜日
16. DataContractSerializer
デシリアライズしてみる
-> ReadObjectメソッド
var serializer = new DataContractSerializer(typeof(hidari));
var fs = new FileStream(@"./i.xml", FileMode.Open);
var value = (hidari)serializer.ReadObject(fs);
fs.Close();
やってみましょう
13年10月15日火曜日
<?xml version="1.0" encoding="utf-8"?>
<hidari xmlns:i="http://www.w3.org/2001/XMLSchemainstance" xmlns="http://schemas.datacontract.org/2004/07/
ConsoleApplication7">
<Address>Osaka</Address>
<Age>27</Age>
</hidari>
17. DataContractSerializer
項目をネストさせてみましょう
public class hidari
{
public string Address { get; set; }
public int Age { get; set; }
public Favorite Favorite { get; set; }
}
public class Favorite
{
public string Love { get; set; }
}
13年10月15日火曜日
var i = new hidari
{
Address = "Osaka",
Age = 27,
Favorite = new Favorite { Love = "CSharp" }
};
var serializer = new DataContractSerializer(typeof(hidari));
var fs = new FileStream(@".iLove.xml", FileMode.Create);
var xw = XmlWriter.Create(fs, new XmlWriterSettings { Indent = true });
serializer.WriteObject(xw, i);
xw.Close();
fs.Close();
22. DataContractSerializer
名前空間が邪魔
DataContract属性とDataMember属性を
public class hidari
{
public string Address { get; set; }
public int Age { get; set; }
public Favorite Favorite { get; set; }
}
public class Favorite
{
public string Love { get; set; }
}
13年10月15日火曜日
[DataContract(Namespace="")]
public class hidari
{
[DataMember]
public string Address { get; set; }
[DataMember]
public int Age { get; set; }
[DataMember]
public Favorite Favorite { get; set; }
}
[DataContract(Namespace="")]
public class Favorite
{
[DataMember]
public string Love { get; set; }
}
23. DataContractSerializer
名前空間が邪魔
DataContract属性とDataMember属性を
NameSpace空にして
public class hidari
{
public string Address { get; set; }
public int Age { get; set; }
public Favorite Favorite { get; set; }
}
public class Favorite
{
public string Love { get; set; }
}
13年10月15日火曜日
[DataContract(Namespace="")]
public class hidari
{
[DataMember]
public string Address { get; set; }
[DataMember]
public int Age { get; set; }
[DataMember]
public Favorite Favorite { get; set; }
}
[DataContract(Namespace="")]
public class Favorite
{
[DataMember]
public string Love { get; set; }
}