C#序列化反序列化生成xml
时间: 2023-11-18 07:54:52 浏览: 172
C#序列化和反序列化是.NET运行时环境用来支持用户定义类型的流化的机制。序列化就是把一个对象保存到一个文件或数据库字段中去,反序列化就是在适当的时候,从文件或数据库中读取数据,重新构造出原来的对象。而生成XML是序列化的一种方式,可以将对象序列化为XML格式的数据。下面是C#实现Xml序列化与反序列化的方法:
1. 首先定义需要序列化的类,并在类上添加[Serializable]特性。
2. 使用XmlSerializer类进行序列化和反序列化操作,其中Serialize方法用于序列化,Deserialize方法用于反序列化。
3. 在序列化和反序列化时,需要指定需要序列化的对象和输出/输入流。
代码如下:
```
[Serializable]
public class MyClass
{
public int Id { get; set; }
public string Name { get; set; }
}
public class XmlUtil
{
public static string Serialize<T>(T obj)
{
XmlSerializer serializer = new XmlSerializer(typeof(T));
using (StringWriter writer = new StringWriter())
{
serializer.Serialize(writer, obj);
return writer.ToString();
}
}
public static T Deserialize<T>(string xml)
{
XmlSerializer serializer = new XmlSerializer(typeof(T));
using (StringReader reader = new StringReader(xml))
{
return (T)serializer.Deserialize(reader);
}
}
}
```
使用示例:
```
MyClass obj = new MyClass { Id = 1, Name = "Test" };
string xml = XmlUtil.Serialize(obj);
MyClass newObj = XmlUtil.Deserialize<MyClass>(xml);
```
阅读全文
相关推荐
![rar](https://img-home.csdnimg.cn/images/20241231044955.png)
![zip](https://img-home.csdnimg.cn/images/20241231045053.png)
![pdf](https://img-home.csdnimg.cn/images/20241231044930.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)