Xml反序列化c#,如果存在两个元素需要使用特定元素

问题描述 投票:0回答:1
<Element1>xxx</Element1>
or
<Element2>xxx</Element2>

or
<Element1>xxx</Element1>
<Element2>xxx</Element2>

如果两者都存在,我需要使用 Element1 的值

这些是我的xml中的3种情况 我正在使用 System.Xml.Serialization 来解析 xml 这是我的财产

[XmlElement("Element1")]
[XmlElement("Element2")]
public string Data
{
    get
    {
        return this.data;
    }
    set
    {
        this.data = value;
    }
}

就我而言,如果两者都存在,我需要使用 Element1,否则使用存在的那个。

我无法想出解决方案

c# xml xmlserializer xml-deserialization ixmlserializable
1个回答
0
投票

试试这个。唯一的问题是,当您序列化时,您将同时获得元素 1 和 2。

       public string data { get; set; }
        
        public string Element1
        {
            get
            {
                return this.data;
            }
            set
            {
                this.data = value;
            }
        }
        public string Element2
        {
            get
            {
                return this.data;
            }
            set
            {
                this.data = value;
            }
        }
© www.soinside.com 2019 - 2024. All rights reserved.