Атрибут и текст сериализации XML - PullRequest
0 голосов
/ 21 октября 2010

У меня есть простой Xml-узел, который мне нужно создать заново

<Division ID="123">Division Name</Division> 

Но когда я создаю класс как

public class Division
{
    [XmlAttribute]
    public string Id { get; set; }

    [XmlText]
    public string Description { get; set; }
}

, я получаю

<Division>Division Name</Division> 

Идентификатор исчезает.

Как я могу сделать эту работу?

1 Ответ

1 голос
/ 21 октября 2010

Works on my machine


Division d = new Division()
{
    Id = "1",
    Description = "Description"
};

FileStream fs = new FileStream("test.txt", FileMode.Create);
TextWriter writer = new StreamWriter(fs, new UTF8Encoding());


XmlSerializer xs = new XmlSerializer(typeof(Division));
xs.Serialize(writer, d);
writer.Close();

<?xml version="1.0" encoding="utf-8"?>
<Division xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"     
       xmlns:xsd="http://www.w3.org/2001/XMLSchema" Id="1">Description</Division>
...