我想将一些类字段序列化为一个组(一个子节点元素)。 例如:
[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)。
这使您可以完全控制格式。使用序列化程序意味着您放弃(大部分)控制权。
关于c# xml 序列化分组子节点中的元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7753648/