Я пытаюсь написать программу для сериализации объекта в XML-файл.
[XmlRoot ("Person")]
public class person
{
[XmlElement("Name")]
public string name { get; set; }
[XmlElement("Age")]
public int age { get; set; }
[XmlElement ("Location")]
location _location = new location { city = "Delhi", country = "India", distance = 123 };
}
Это класс, объект которого я хочу сериализовать.
Код, который я использую для сериализации,
person _person = new person { name = "ASDF", age = 25};
System.Xml.Serialization.XmlSerializer XS = new System.Xml.Serialization.XmlSerializer(typeof(person));
System.IO.TextWriter TW = new System.IO.StreamWriter(System.IO.File.Create("C:\\Users\\vaibhav.1.jain\\Documents\\Visual Studio 2010\\Projects\\LinqWeb\\LinqWeb\\xmlser\\ser4.xml"));
XS.Serialize(TW, _person);
TW.Close();
И XML, который я получаю, -
<?xml version="1.0" encoding="utf-8"?>
<Person xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<Name>ASDF</Name>
<Age>25</Age>
</Person>
Но я должен был получить
<?xml version="1.0" encoding="utf-8"?>
<Person xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<Name>ASDF</Name>
<Age>25</Age>
<location>
<country>India</country>
<city>Delhi</city>
<distance>12</distance>
</location>
</Person>
Можете ли вы сказать мне, что я делаю неправильно, я новичок в XML и сериализации.