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.
XML Serialization Considerations Type identity and assembly information are not included. Only public properties and fields can be serialized. Properties must have public accessors (get and set methods). If you must serialize non-public data, use the DataContractSerializer class rather than XML serialization.
Xml Serializer serializes only public member of object but Binary Serializer serializes all member whether public or private. In Xml Serialization, some of object state is only saved but in Binary Serialization, entire object state is saved.
Xml. Serialization namespace) class is used to serialize and deserialize. The class method Serialize is called. Since we have to serialize in a file, we create a " TextWriter ".
[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" }); } }
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With