📅  最后修改于: 2023-12-03 14:39:46.259000             🧑  作者: Mango
在C#编程中,有时候需要将一个复杂的对象转换成可读的XML文档,以便于在程序中进行传输、持久化等操作。本文将介绍如何将C#对象转化为XML文档,并且使用XmlDocument来进行操作。
在本例中,我们定义一个包含字符串和整数属性的Person类:
public class Person
{
public string Name { get; set; }
public int Age { get; set; }
}
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>
使用XmlDocument.LoadXml()方法可以将XML字符串转化为XmlDocument对象:
var xmlDocument = new XmlDocument();
xmlDocument.LoadXml(xmlString);
现在可以对XmlDocument对象进行操作了,例如访问某个节点的值:
var nameElement = xmlDocument.SelectSingleNode("/Person/Name");
var name = nameElement.InnerText;
通过以上简单的步骤,可以轻松地将C#对象转化为XML文档,并且使用XmlDocument来进行操作。注意,本文仅展示了一个简单的示例,实际应用中可能需要更复杂的对象和更复杂的XML文档,需要适当调整代码来满足需求。