web-dev-qa-db-ja.com

XMLシリアル化の質問-1つのオブジェクトから要素、属性、テキストをシリアル化する方法

私は.NETを使用したXMLシリアル化に不慣れで、しばらくそれを使用した後、今はかなり困惑しています。他の要素を含む属性を持つ要素をシリアル化できますが、次のようなものをシリアル化するにはどうすればよいですか?

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

「名前」にXmlAttributeを使用してmyElementのクラスを使用しますが、XML要素の値を参照するにはどうすればよいですか?

前もって感謝します。

30
Haiko Wick

[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" });
    }
}
76
Marc Gravell