How to read XML file using XmlSerializer C# [duplicate]

孤街醉人 提交于 2019-12-02 07:35:55

Try this...

Usings...

using System.Collections.Generic;
using System.IO;
using System.Xml.Serialization;

Classes...(created from your XML using http://xmltocsharp.azurewebsites.net/)

    [XmlRoot(ElementName = "section")]
    public class Section
    {
        [XmlElement(ElementName = "element1")]
        public string Element1 { get; set; }
        [XmlElement(ElementName = "element2")]
        public string Element2 { get; set; }
        [XmlElement(ElementName = "idx")]
        public List<string> Idx { get; set; }
        [XmlAttribute(AttributeName = "id")]
        public string Id { get; set; }
    }

    [XmlRoot(ElementName = "contents")]
    public class Contents
    {
        [XmlElement(ElementName = "section")]
        public List<Section> Section { get; set; }
    }

Code...

        Contents dezerializedXML = new Contents();
        // Deserialize to object
        XmlSerializer serializer = new XmlSerializer(typeof(Contents));
        using (FileStream stream = File.OpenRead(@"xml.xml"))
        {
            dezerializedXML = (Contents)serializer.Deserialize(stream);
        } // Put a break-point here, then mouse-over dezerializedXML

I put your XML in a file (xml.xml) and read it from there....

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!