【发布时间】:2015-12-24 16:07:51
【问题描述】:
我是 C# 新手,想将对象图序列化为 XML。 我几乎完成了,但由于未知原因,XML 向我显示了反转的对象图。
public class PersonalDetails
{
public string Name { get; set; }
public int Age { get; set; }
public AddressDetails address;
public PersonalDetails()
{
}
public PersonalDetails(string Name, int Age, AddressDetails address)
{
this.Name = Name;
this.Age = Age;
this.address = address;
}
public class AddressDetails
{
[XmlElement("Number")]
public int HouseNo;
[XmlElement("Street")]
public string StreetName;
public string City;
public AddressDetails()
{
}
static void Main(string[] args)
{
AddressDetails address = new AddressDetails();
PersonalDetails[] personal = new PersonalDetails[1];
personal[0] = new PersonalDetails("Roberto", 15, address);
address.HouseNo = 4;
address.StreetName = "ABC";
address.City = "Delhi";
Serialize(personal[0]);
}
public static void Serialize(PersonalDetails personal)
{
XmlSerializer serializer = new XmlSerializer(typeof(PersonalDetails));
using (TextWriter writer = new StreamWriter("TestXML.xml"))
{
serializer.Serialize(writer, personal);
}
}
}
}
这就是我当前 XML 的样子:
<PersonalDetails xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<address>
<Number>4</Number>
<Street>ABC</Street>
<City>Delhi</City>
</address>
<Name>Roberto</Name>
<Age>15</Age>
</PersonalDetails>
但我想要这个:
<PersonalDetails xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<Name>Roberto</Name>
<Age>15</Age>
<address>
<Number>4</Number>
<Street>ABC</Street>
<City>Delhi</City>
</address>
</PersonalDetails>
【问题讨论】:
标签: c# xml serialization xml-serialization xmlserializer