C#的xmlSerializer是一个强大的工具,用于在C#对象和XML之间序列化和反序列化。它可以将xml格式的数据转换成C#中的对象,也可以将C#中的对象序列化成xml格式的数据。在本文中,我们将介绍xmlSerializer的简单用法,并提供两个基本的示例说明。
示例1
序列化C#对象为XML格式
假设我们有以下C#类:
public class Person
{
public string Name { get; set; }
public int Age { get; set; }
}
我们可以使用xmlSerializer将Person类序列化为xml格式:
Person person = new Person {Name = "张三", Age = 20};
XmlSerializer serializer = new XmlSerializer(typeof(Person));
using (StringWriter stringWriter = new StringWriter())
{
serializer.Serialize(stringWriter, person);
string xmlString = stringWriter.ToString();
}
这里我们实例化了Person类,然后创建了一个XmlSerializer实例化,指定了要序列化的类型。我们使用StringWriter创建一个字符串写入器,并调用XmlSerializer的Serialize方法将Person实例序列化为xml格式的数据,并将结果存储在一个字符串变量中。
反序列化XML格式为C#对象
假设我们有一个xml格式的Person数据:
<?xml version="1.0" encoding="utf-8"?>
<Person>
<Name>李四</Name>
<Age>25</Age>
</Person>
我们可以使用xmlSerializer将这个xml格式的数据反序列化为Person类:
string xmlString = @"<?xml version=""1.0"" encoding=""utf-8""?>
<Person>
<Name>李四</Name>
<Age>25</Age>
</Person>";
XmlSerializer serializer = new XmlSerializer(typeof(Person));
using (StringReader stringReader = new StringReader(xmlString))
{
Person person = (Person)serializer.Deserialize(stringReader);
}
这里我们将xml格式的Person数据存储在一个字符串变量中,然后创建了一个XmlSerializer实例化,指定了要反序列化的类型。我们使用StringReader创建一个字符串读取器,并调用XmlSerializer的Deserialize方法将xml格式的数据反序列化为Person实例。
示例2
序列化包含属性和子节点的C#对象为XML格式
假设我们有以下C#类:
[XmlRoot("Person")]
public class Person
{
[XmlAttribute("Name")]
public string Name { get; set; }
[XmlElement("Age")]
public int Age { get; set; }
[XmlElement("Address")]
public string Address { get; set; }
}
我们可以使用xmlSerializer将Person类序列化为xml格式:
Person person = new Person {Name = "张三", Age = 20, Address = "中国北京"};
XmlSerializer serializer = new XmlSerializer(typeof(Person));
using (StringWriter stringWriter = new StringWriter())
{
serializer.Serialize(stringWriter, person);
string xmlString = stringWriter.ToString();
}
这里我们实例化了Person类,然后创建了一个XmlSerializer实例,指定了要序列化的类型。我们使用StringWriter创建一个字符串写入器,并调用XmlSerializer的Serialize方法将Person实例序列化为xml格式的数据,并将结果存储在一个字符串变量中。
反序列化包含属性和子节点的XML格式为C#对象
假设我们有一个xml格式的Person数据:
<?xml version="1.0" encoding="utf-8"?>
<Person Name="李四">
<Age>25</Age>
<Address>中国上海</Address>
</Person>
我们可以使用xmlSerializer将这个xml格式的数据反序列化为Person类:
string xmlString = @"<?xml version=""1.0"" encoding=""utf-8""?>
<Person Name=""李四"">
<Age>25</Age>
<Address>中国上海</Address>
</Person>";
XmlSerializer serializer = new XmlSerializer(typeof(Person));
using (StringReader stringReader = new StringReader(xmlString))
{
Person person = (Person)serializer.Deserialize(stringReader);
}
这里我们将xml格式的Person数据存储在一个字符串变量中,然后创建了一个XmlSerializer实例化,指定了要反序列化的类型。我们使用StringReader创建一个字符串读取器,并调用XmlSerializer的Deserialize方法将xml格式的数据反序列化为Person实例。
希望这些示例使您更好地了解xmlSerializer的用法。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:C# xmlSerializer简单用法示例 - Python技术站