2009-04-28 1 views
29

Ich bin neu in XML-Serialisierung mit .NET und nachdem ich einige Zeit damit gearbeitet habe, bin ich jetzt ziemlich verwirrt. Ich kann Elemente mit Attributen, die anderen Elemente serialisiert werden aber wie kann ich serialisiert so etwas wieXML-Serialisierungsfrage - Wie man Element, Attribut und Text aus einem Objekt serialisiert

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

Ich benutze eine Klasse für myElement mit einem XmlAttribute für den „Namen“, sondern, wie der Wert des XML-Elements verweisen?

Vielen Dank im Voraus.

Antwort

69

[XmlText], etwa so:

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" }); 
    } 
} 
+0

Vielen Dank, das finden nicht nur diese XmlText :) –

+1

Danke. Dies löste mein Problem –

+1

6 Jahre später und es löste gerade mein Problem auch :). Danke Marc! – DVM