【问题标题】:how can i serialize a property to element with a default attribute如何将属性序列化为具有默认属性的元素
【发布时间】:2014-02-11 11:08:45
【问题描述】:

我需要用一个属性将这个类序列化为 xml,该属性需要作为一个元素,属性名称作为默认属性的值。

class RequestDto
{
    public string ZipCode {get;set;}
} 

as 

<RequestDto>
    <Parameter name="zipcode"> </Parameter>
</RequestDto>

【问题讨论】:

    标签: c# xml-serialization


    【解决方案1】:

    您不能通过XmlSerializer 直接从该对象模型的形状中做到这一点;基本上,XmlSerializer 假定您的模型和 xml 将或多或少相同。坦率地说,实施IXmlSerializable 是不值得的。我建议使用XDocument 来序列化它:

    string zip = "abc";
    var el = new XElement("RequestDto",
        new XElement("Parameter",
            new XAttribute("name", "zipcode"),
            zip
        )
    );
    

    哪个给出(通过.ToString()):

    <RequestDto>
      <Parameter name="zipcode">abc</Parameter>
    </RequestDto>
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2012-07-05
      • 1970-01-01
      • 1970-01-01
      • 2017-11-07
      • 2020-09-15
      • 2014-07-23
      • 2011-09-24
      相关资源
      最近更新 更多