c# XML序列化分组子节点中的元素
本文关键字:元素 子节点 XML 序列化 | 更新日期: 2023-09-27 18:11:13
我想将一些类字段序列化到一个组(子节点元素)中。例如:
[XmlRoot("person", Namespace = "", IsNullable = false)]
public class Person
{
[XmlElement("male")]
public bool Male { get; set; }
[XmlElement("street")]
public string Street { get; set; }
[XmlElement("city")]
public string City { get; set; }
}
这将创建以下XML:
<person>
<male>true</male>
<street>Some street</street>
<city>City</city>
</person>
但是我想分组(例如,街道和城市到一个子元素),而不做一个额外的子类持有这两个属性。
<person>
<male>true</male>
<address>
<street>Some street</street>
<city>City</city>
</address>
</person>
您可以"手工"序列化,即写入XDocument(甚至XmlWriter)。
这使您可以完全控制格式。使用序列化器意味着你放弃了(大部分)控制权。