Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/304.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
c#(列表对象)中的反序列化xml问题_C#_Xml_Xsd_Xml Serialization_Xsd2code - Fatal编程技术网

c#(列表对象)中的反序列化xml问题

c#(列表对象)中的反序列化xml问题,c#,xml,xsd,xml-serialization,xsd2code,C#,Xml,Xsd,Xml Serialization,Xsd2code,如何使用反序列化获得上述确切结构您可以大致将上述实体形式化为: <root> <child id="1"> <child1 id="1"/> <child2> <child11 id="1"> <child111 id="1"/> </child11> </child2> <

如何使用反序列化获得上述确切结构

您可以大致将上述实体形式化为:

<root>
    <child id="1">
       <child1 id="1"/>
       <child2>
           <child11 id="1">
               <child111 id="1"/>
           </child11>
    </child2>
   </child>
    <child id="2">
       <child1 id="2"/>
    </child>
</root>
使用系统;
使用System.Xml.Serialization;
使用System.Collections.Generic;
命名空间工作项目
{
[XmlRoot(ElementName=“child1”)]
公营儿童1{
[XmlAttribute(AttributeName=“id”)]
公共字符串Id{get;set;}
}
[XmlRoot(ElementName=“child111”)]
公营儿童111{
[XmlAttribute(AttributeName=“id”)]
公共字符串Id{get;set;}
}
[XmlRoot(ElementName=“child11”)]
公营儿童11{
[xmlement(ElementName=“child111”)]
公共Child111 Child111{get;set;}
[XmlAttribute(AttributeName=“id”)]
公共字符串Id{get;set;}
}
[XmlRoot(ElementName=“child2”)]
公营儿童2{
[xmlement(ElementName=“child11”)]
公共Child11 Child11{get;set;}
}
[XmlRoot(ElementName=“child”)]
公营儿童{
[xmlement(ElementName=“child1”)]
公共Child1 Child1{get;set;}
[xmlement(ElementName=“child2”)]
公共Child2 Child2{get;set;}
[XmlAttribute(AttributeName=“id”)]
公共字符串Id{get;set;}
}
[XmlRoot(ElementName=“root”)]
公共类根{
[xmlement(ElementName=“child”)]
公共列表子项{get;set;}
}
}

然后可以使用该类将XML字符串转换为
类实例(必要时可以修改名称)。

欢迎使用stackoverflow。请花一分钟的时间来回答问题,特别是你的问题。
using System;
using System.Xml.Serialization;
using System.Collections.Generic;

namespace WorkingProject
{
    [XmlRoot(ElementName="child1")]
    public class Child1 {
        [XmlAttribute(AttributeName="id")]
        public string Id { get; set; }
    }

    [XmlRoot(ElementName="child111")]
    public class Child111 {
        [XmlAttribute(AttributeName="id")]
        public string Id { get; set; }
    }

    [XmlRoot(ElementName="child11")]
    public class Child11 {
        [XmlElement(ElementName="child111")]
        public Child111 Child111 { get; set; }
        [XmlAttribute(AttributeName="id")]
        public string Id { get; set; }
    }

    [XmlRoot(ElementName="child2")]
    public class Child2 {
        [XmlElement(ElementName="child11")]
        public Child11 Child11 { get; set; }
    }

    [XmlRoot(ElementName="child")]
    public class Child {
        [XmlElement(ElementName="child1")]
        public Child1 Child1 { get; set; }
        [XmlElement(ElementName="child2")]
        public Child2 Child2 { get; set; }
        [XmlAttribute(AttributeName="id")]
        public string Id { get; set; }
    }

    [XmlRoot(ElementName="root")]
    public class Root {
        [XmlElement(ElementName="child")]
        public List<Child> Child { get; set; }
    }

}