[c#] XML Serialization
xml序列化
[XmlRoot("RootObject", Namespace = "xxx.com")] public class RootObject { // 此处为 XmlAttribute [XmlAttribute("Name")] public string Name { get; set; } // 此处为 XmlArray [XmlArray("locations")] public string[] locations { get; set; } // 此处为 XmlElement [XmlElement("MyClass")] public TestClass MyClass { get; set; } } [XmlRoot("TestClass ")] public class TestClass { [XmlAttribute("Type")] public string Type { get; set; } } // ---------------------------------------------------- // 序列化功能 // ---------------------------------------------------- RootObject x = new RootObject(); StringBuilder buffer = new StringBuilder(); XmlSerializer serializer = new XmlSerializer(typeof(RootObject)); using (TextWriter writer = new StringWriter(buffer)) { serializer.Serialize(writer, x); } string xmlString = buffer.ToString(); // ---------------------------------------------------- // 反序列化功能 // ---------------------------------------------------- public RootObject Deserialize4String(string xmlString) { RootObject cloneObject = default(RootObject ); StringBuilder buffer = new StringBuilder(); buffer.Append(xmlString); XmlSerializer serializer = new XmlSerializer(typeof(RootObject)); using (TextReader reader = new StringReader(buffer.ToString())) { object obj = serializer.Deserialize(reader); cloneObject = obj as RootObject; } return cloneObject; }

浙公网安备 33010602011771号