阅读量:0
在C#中,可以使用Attribute来控制对象的序列化和反序列化过程。下面是一个简单的示例:
using System; using System.IO; using System.Xml.Serialization; [Serializable] public class Person { [XmlAttribute] public string Name { get; set; } [XmlElement] public int Age { get; set; } } class Program { static void Main() { Person person = new Person { Name = "Alice", Age = 30 }; // Serialize XmlSerializer serializer = new XmlSerializer(typeof(Person)); using (FileStream fs = new FileStream("person.xml", FileMode.Create)) { serializer.Serialize(fs, person); } // Deserialize using (FileStream fs = new FileStream("person.xml", FileMode.Open)) { Person deserializedPerson = (Person)serializer.Deserialize(fs); Console.WriteLine($"Name: {deserializedPerson.Name}, Age: {deserializedPerson.Age}"); } } }
在上面的示例中,通过在属性上添加[XmlAttribute]
和[XmlElement]
Attribute,可以指定在序列化时将属性保存为XML的属性或元素。然后使用XmlSerializer
类进行序列化和反序列化操作。
注意:如果需要在JSON格式中进行序列化和反序列化操作,可以使用DataContract
和DataMember
Attribute来控制属性的序列化行为。