C#实体类如何生成xml字符串
时间: 2023-11-19 12:06:49 浏览: 119
在 C# 中,可以使用 `System.Xml.Serialization` 命名空间中的 `XmlSerializer` 类将实体类对象序列化成 XML 字符串。以下是一个简单的示例:
```csharp
using System.Xml.Serialization;
// 定义一个实体类
public class Book
{
public string Title { get; set; }
public string Author { get; set; }
}
public static string SerializeObjectToXmlString(Book book)
{
XmlSerializer serializer = new XmlSerializer(typeof(Book));
StringWriter sw = new StringWriter();
serializer.Serialize(sw, book);
return sw.ToString();
}
```
在这个示例中,我们定义了一个 `Book` 类,并且实例化了一个 `XmlSerializer` 对象。然后,我们将 `Book` 类的一个实例作为参数传递给 `Serialize` 方法,并将输出写入到一个 `StringWriter` 对象中。最后,我们将 `StringWriter` 对象转换为字符串并返回。
需要注意的是,在 `XmlSerializer` 中,我们使用 `typeof(Book)` 获取 `Book` 类的类型。如果需要序列化其他类型的对象,也可以将该对象的类型传递给 `XmlSerializer` 构造函数。
如果需要将 XML 字符串反序列化为实体对象,可以使用 `Deserialize` 方法。例如:
```csharp
public static Book DeserializeXmlStringToObject(string xmlString)
{
XmlSerializer serializer = new XmlSerializer(typeof(Book));
StringReader sr = new StringReader(xmlString);
Book book = (Book)serializer.Deserialize(sr);
return book;
}
```
在这个示例中,我们首先将 XML 字符串读取到一个 `StringReader` 对象中,然后使用 `Deserialize` 方法将其反序列化为 `Book` 对象。
阅读全文