XmlAttributeAttribute and XmlElementAttribute

本文关键字:XmlElementAttribute and XmlAttributeAttribute | 更新日期: 2023-09-27 18:10:58

我想在一个属性上声明xmllattributeattribute和XmlElementAttribute,这样无论属性是定义为xml元素还是xml属性,xml都可以正确地反序列化。

。鉴于

public class X
{
    [XmlElement()]
    [XmlAttribute()]        
    public string Prop
    {
        get;
        set;
    }
}

下列任意一个都可以正确反序列化:

<X>
    <Prop>XXX</Prop>
</X>
<X Prop="XXX"/>

这可能吗?

XmlAttributeAttribute and XmlElementAttribute

您可以像这样引入转发属性

public class X
{
    [XmlElement()]
    public string Prop
    {
        get;
        set;
    }
    [XmlAttribute("Prop")]
     public string Prop1
    {
        get { return Prop; }
        set 
        {
             if (!string.IsNullOrEmpty(value))
             {
                  Prop = value;
             }
        }
    }
}
相关文章:
  • 没有找到相关文章