【问题标题】:Set XML Node name for internal list为内部列表设置 XML 节点名称
【发布时间】:2015-11-14 17:39:45
【问题描述】:

我创建这个类是为了控制根节点元素。这是有效的

[XmlRoot(ElementName = "MyNode")]
public class Foo : List<Bar>{}

酒吧看起来像这样

[XmlRoot(ElementName = "MyNextNode")]
public class Bar
{
    public string Code { get; set; }
    public string CodeType { get; set; }
}

输出如下所示

<MyNode>
    <Bar>
    </Bar>
</MyNode>

想要的输出是

<MyNode>
    <MyNextNode>
    </MyNextNode>
</MyNode>

关于如何在不将 Bar 的类名更改为 MyNextNode 的情况下完成此操作的任何建议(更改类名可以获得所需的结果)?

【问题讨论】:

    标签: c# xml serialization xml-serialization


    【解决方案1】:

    您应该使用XmlTypeAttribute,而不是在您的Bar 类上使用XmlRoot

    [XmlType(TypeName = "MyNextNode")]
    public class Bar
    {
        public string Code { get; set; }
        public string CodeType { get; set; }
    }
    

    【讨论】:

    • 这样做了[XmlType("Instrument")] 但你是绝对正确的!谢谢楼主
    猜你喜欢
    • 1970-01-01
    • 2016-05-25
    • 1970-01-01
    • 1970-01-01
    • 2017-03-02
    • 1970-01-01
    • 1970-01-01
    • 2020-11-18
    • 2012-03-06
    相关资源
    最近更新 更多