Вопрос по сериализации XML - Как сериализовать элемент, атрибут и текст из одного объекта - PullRequest
30 голосов
/ 28 апреля 2009

Я новичок в XML-сериализации с использованием .NET и, поработав с ним некоторое время, я совершенно растерялся. Я могу сериализовать элементы с атрибутами, содержащими другие элементы, но как я могу сериализовать что-то вроде

<myElement name="foo">bar</myElement>

Я использую класс для myElement с XmlAttribute для «имени», но как ссылаться на значение XML-элемента?

Спасибо заранее.

1 Ответ

75 голосов
/ 28 апреля 2009

[XmlText], вот так:

using System;
using System.Xml.Serialization;
[Serializable, XmlRoot("myElement")]
public class MyType {
    [XmlAttribute("name")]
    public string Name {get;set;}

    [XmlText]
    public string Text {get;set;}
} 
static class Program {
    static void Main() {
        new XmlSerializer(typeof(MyType)).Serialize(Console.Out,
            new MyType { Name = "foo", Text = "bar" });
    }
}
...