国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

【C#】使用C#將類序列化為XML

2019-11-17 02:28:19
字體:
來源:轉載
供稿:網友

【C#】使用C#將類序列化為xml

直接上代碼:

 public static class XmlSerializer    {        public static void SaveToXml(string filePath, object sourceObj, Type type)        {            if (!string.IsNullOrWhiteSpace(filePath) && sourceObj != null)            {                type = type != null ? type : sourceObj.GetType();                using (StreamWriter writer = new StreamWriter(filePath))                {                    System.Xml.Serialization.XmlSerializer xmlSerializer = new System.Xml.Serialization.XmlSerializer(type);                    XmlSerializerNamespaces nameSpace = new XmlSerializerNamespaces();                                        nameSpace.Add("", ""); //not ot output the default namespace                    xmlSerializer.Serialize(writer, sourceObj, nameSpace);                }            }        }        public static object LoadFromXml(string filePath, Type type)        {            object result = null;            if (File.Exists(filePath))            {                using (StreamReader reader = new StreamReader(filePath))                {                    System.Xml.Serialization.XmlSerializer xmlSerializer = new System.Xml.Serialization.XmlSerializer(type);                    result = xmlSerializer.Deserialize(reader);                }            }            return result;        }
模型類,要序列化的數據結構:
 //[XmlRoot("sequence")]    public class Sequence    {        //[XmlAttribute("id")]        public string Id { get; set; }        // [XmlElement("media")]        public Media Media { get; set; }        public Sequence()        {            Id = "序列2";            Media = new Media();        }    } //[XmlRoot("media")]    public class Media    {       // [XmlAttribute("id")]        public string Id { get; set; }        //[XmlElement("video")]        public Video Video { get; set; }       // [XmlElement("audio")]        public Audio Audio { get; set; }        public Media()        {            Id = "media one";            Video = new Video();            Audio = new Audio();        }    } public class Video    {        public string name { get; set; }        public Video()        {            name = "video 12";        }    }  public class Audio    {        public string name { get; set; }        public Audio()        {            name = "video 12";        }    }

實際使用:

class PRogram   {       static void Main(string[] args)       {           Sequence model = new Sequence();           XmlSerializer.SaveToXml("text.xml", model, model.GetType());       }   }

結果:

<?xml version="1.0" encoding="utf-8"?><Sequence>  <Id>序列2</Id>  <Media>    <Id>media one</Id>    <Video>      <name>video 12</name>    </Video>    <Audio>      <name>video 12</name>    </Audio>  </Media></Sequence>

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 兰考县| 同心县| 定南县| 永福县| 文昌市| 龙里县| 彭泽县| 盐边县| 修文县| 美姑县| 阿城市| 荆门市| 岫岩| 义马市| 安西县| 峨边| 宣威市| 广水市| 孝昌县| 自贡市| 上栗县| 宽甸| 仙游县| 囊谦县| 什邡市| 海淀区| 九江市| 望城县| 镇安县| 定远县| 织金县| 喀什市| 盘锦市| 吉水县| 孝昌县| 皋兰县| 体育| 同江市| 库车县| 大丰市| 营山县|