如何反序列化具有相同名称嵌套元素的Xml文件

本文关键字:嵌套 元素 文件 Xml 反序列化 | 更新日期: 2023-09-27 18:25:45

我有一个包含以下元素的XML文件:

<Reqs>
    <Source>
        <Sec name="A">
            <Sec name="L">
                <Sec name="B">
                    <Req>
                        <Content></Content>
                        <Title></Title>
                        <Pro></Pro>
                    </Req>
               </Sec>
           </Sec>
      </Sec>
  </Source>
</Reqs>

元素具有相同的名称并嵌套,如何使用C#反序列化它?

如何反序列化具有相同名称嵌套元素的Xml文件

public class Reqs {
    public Source Source {get;set;}    
}
public class Source {
    public Sec Sec {get;set;}
}
public class Sec {
    [XmlAttribute("name")]
    public string Name {get;set;}
    [XmlElement("Sec")]
    public Sec InnerSec { get; set; }
    public Req Req {get;set;}
}
public class Req {
    public string Content {get;set;}
    public string Title {get;set;}
    public string Pro {get;set;}
}

带有:

var reqs = new Reqs {
    Source = new Source {
        Sec = new Sec {
            Name = "A",
            InnerSec = new Sec {
                Name = "L",
                InnerSec = new Sec {
                    Name = "B",
                    Req = new Req {
                        Content = "",
                        Title = "",
                        Pro = ""
                    }
                }
            }
        }
    }
};
var ser = new XmlSerializer(typeof(Reqs));
ser.Serialize(Console.Out, reqs);
相关文章: