繁体   English   中英

c#xml序列化分组子节点中的元素

[英]c# xml serialization grouping elements in subnodes

我想将一些类字段序列化为一个组(子节点元素)。 例如:

[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)。

这使您可以完全控制格式。 使用序列化程序意味着您放弃(大部分)该控件。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM