📜  c# 对象到 xmldocument - C# (1)

📅  最后修改于: 2023-12-03 14:39:46.259000             🧑  作者: Mango

将C#对象转化为XmlDocument

在C#编程中,有时候需要将一个复杂的对象转换成可读的XML文档,以便于在程序中进行传输、持久化等操作。本文将介绍如何将C#对象转化为XML文档,并且使用XmlDocument来进行操作。

步骤
  1. 定义C#对象

在本例中,我们定义一个包含字符串和整数属性的Person类:

public class Person
{
    public string Name { get; set; }
    public int Age { get; set; }
}
  1. 使用XmlSerializer将C#对象序列化为XML

XmlSerializer是C#中一个强大的序列化工具,可以将C#对象转换为XML或反之。下面代码展示了如何将Person对象转化为XML字符串:

var p = new Person { Name = "Jack", Age = 30 };
var serializer = new XmlSerializer(typeof(Person));
using (var stream = new StringWriter())
{
    serializer.Serialize(stream, p);
    var xmlString = stream.ToString();
    Console.WriteLine(xmlString);
}

输出结果为:

<?xml version="1.0" encoding="utf-16"?>
<Person xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
  <Name>Jack</Name>
  <Age>30</Age>
</Person>
  1. 将XML字符串转化为XmlDocument对象

使用XmlDocument.LoadXml()方法可以将XML字符串转化为XmlDocument对象:

var xmlDocument = new XmlDocument();
xmlDocument.LoadXml(xmlString);
  1. 对XmlDocument对象进行操作

现在可以对XmlDocument对象进行操作了,例如访问某个节点的值:

var nameElement = xmlDocument.SelectSingleNode("/Person/Name");
var name = nameElement.InnerText;
总结

通过以上简单的步骤,可以轻松地将C#对象转化为XML文档,并且使用XmlDocument来进行操作。注意,本文仅展示了一个简单的示例,实际应用中可能需要更复杂的对象和更复杂的XML文档,需要适当调整代码来满足需求。