我想要做的是序列化嵌套類。我的代碼第一:在c#中序列化嵌套類?
[Serializable]
public class SampleClass
{
[Serializable]
public class Person
{
[XmlElement("Name")]
public string Name { get; set; }
[XmlElement("Age")]
public ushort Age { get; set; }
}
[Serializable]
public class Adress
{
[XmlElement("Street")]
public string Street { get; set; }
[XmlElement("House number")]
public int Number { get; set; }
}
public SampleClass()
{
}
public SampleClass(string _name, byte _age, string _street, int _number)
{
Person p = new Person();
p.Name = _name;
p.Age = _age;
Adress a = new Adress();
a.Street = _street;
a.Number = _number;
}
}
我想這樣的XML
<?xml version="1.0"?>
<SampleClass xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" >
<Person>
<Name></Name>
<Age></Age>
</Person>
<Adress>
<Street></Street>
<HouseNumber></HouseNumber>
</Adress>
</SampleClass>
當我序列化此SimleClass:
using (Stream str = new FileStream(@"C:/test.xml", FileMode.Create))
{
XmlSerializer serial = new XmlSerializer(typeof(SampleClass));
SampleClass sClass = new SampleClass("John",15,"Street",34);
serial.Serialize(str, sClass);
label1.ForeColor = Color.Black;
label1.Text = "Ok";
}
這是給我的test.xml文件,但該文件的內是:
<?xml version="1.0"?>
<SampleClass xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" />
什麼我做錯了嗎?
感謝提前:)
'this.Person'仍然是空的,因爲它沒有被實例化。 – cjk 2012-03-16 12:44:00
哎呀,錯過了,謝謝:) – 2012-03-16 12:45:33