Reputation: 417
I'm new into XML Serialization using .NET and after working with it for some time I'm quite fuzzled now. I can serialize elements with attributes containing other elements but how can I serialize something like
<myElement name="foo">bar</myElement>
I use a class for myElement with a XmlAttribute for the "name", but how to refer the value of the XML Element?
Thanks in advance.
Upvotes: 36
Views: 19757
Reputation: 1064184
[XmlText]
, like 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" });
}
}
Upvotes: 81