Помощь необходима в Сериализации XML

Я пробую запись программа для сериализации объекта к 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 };
    }

Это - класс, которые возражают, что я хочу сериализировать.

Код, который я использую к serialze,

 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 и сериализацией.

1
задан Vaibhav Jain 25 June 2010 в 06:42
поделиться

1 ответ

Похоже, ваше поле _location является частным. Сериализация XML будет сериализовать только общедоступные свойства и поля. Попробуйте поместить его в общедоступное свойство.

2
ответ дан 2 September 2019 в 23:31
поделиться
Другие вопросы по тегам:

Похожие вопросы: