答案:通过XmlRoot、XmlElement和XmlAttribute等特性可自定义C#对象序列化为XML时的节点名称和结构,包括根节点、子节点、属性及集合元素的命名。

在 C# 中使用 XmlSerializer 进行 XML 序列化时,可以通过特性(Attribute)来自定义生成的 XML 节点名称。最常用的方式是使用 [XmlElement]、[XmlAttribute] 和 [RootModel] 等特性来控制输出结构。
[XmlRoot("CustomPerson")]
public class Person
{
public string Name { get; set; }
}
// 序列化结果:
// <CustomPerson>
// <Name>John</Name>
// </CustomPerson>
public class Person
{
[XmlElement("PersonName")]
public string Name { get; set; }
[XmlElement("Age")]
public int Age { get; set; }
}
// 序列化结果:
// <Person>
// <PersonName>John</PersonName>
// <Age>30</Age>
// </Person>
public class Person
{
[XmlAttribute("id")]
public int Id { get; set; }
[XmlElement("Name")]
public string Name { get; set; }
}
// 序列化结果:
// <Person id="123">
// <Name>John</Name>
// </Person>
public class People
{
[XmlElement("Person")]
public List<Person> Persons { get; set; }
}
// 输出:
// <People>
// <Person>...</Person>
// <Person>...</Person>
// </People>
基本上就这些。通过合理使用这些特性,你可以完全控制 C# 对象序列化成 XML 时的节点命名和结构,满足接口或配置文件的格式要求。
以上就是C# 序列化xml时如何自定义节点名称的详细内容,更多请关注php中文网其它相关文章!
每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号