CSharp: XML Serialize and Deserialize
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 | using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.Xml.Serialization; using System.Xml; namespace DuFullCalendar { [XmlRoot( "ArrayOfString" )] public class ArrayOfString { [XmlElement( "CityName" )] public string CityName { get ; set ;} [XmlElement( "CityCode" )] public string CityCode { get ; set ; } } /// <summary> /// /// </summary> [XmlRoot] public class Teacher { [XmlAttribute] public string LessonTitle { get ; set ; } [XmlElement] public General general { get ; set ; } [XmlElement] public Descrption descrption { get ; set ; } [XmlElement( "Part" )] public List<Part> partlist { get ; set ; } } /// <summary> /// /// </summary> public class General { [XmlAttribute] public string title { get ; set ; } [XmlAttribute] public string msg { get ; set ; } } /// <summary> /// /// </summary> public class Descrption { [XmlAttribute] public string document { get ; set ; } } /// <summary> /// /// </summary> public class Part { [XmlAttribute] public string PartTitle { get ; set ; } [XmlAttribute] public string PartNum { get ; set ; } [XmlAttribute] public string PartOver { get ; set ; } /// [XmlElement(ElementName = "Sco", Type = typeof(Sco), IsNullable = true)] //[XmlElement(ElementName = "Quest", Type = typeof(Quest), IsNullable = true)] public List<GeovinDu> GeovinDus { get ; set ; } [XmlElement(ElementName = "Sco" )] public Sco sco { get ; set ; } [XmlElement(ElementName = "quest" )] public Quest quest { get ; set ; } } /// <summary> /// /// </summary> public class GeovinDu { [XmlElement( "id" )] public int Id { get ; set ; } [XmlElement( "KeyWord" )] public string KeyWord { get ; set ; } } /// <summary> /// /// </summary> public class Sco : GeovinDu { [XmlAttribute] public string ScoTitle { get ; set ; } [XmlAttribute] public string isok { get ; set ; } } /// <summary> /// /// </summary> public class Quest : GeovinDu { [XmlAttribute] public string Title { get ; set ; } } } |
调用:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 | //ArrayOfString arstring = new ArrayOfString() { // CityCode="0001", CityName="北京" //}; //string file = Server.MapPath("geovindu.xml"); //XmlSerializer xswrite = new XmlSerializer(typeof(ArrayOfString)); //写文件 //Stream stream = new FileStream(file, FileMode.Create, FileAccess.Write, FileShare.Read); //xswrite.Serialize(stream, arstring); //读文件 //Stream stream = new FileStream(file, FileMode.Open, FileAccess.Read, FileShare.Read); //ArrayOfString p = xswrite.Deserialize(stream) as ArrayOfString; //Response.Write(p.CityName); Teacher teacher = new Teacher(); teacher.LessonTitle = "geovindu 涂聚文" ; General general = new General(); general.title = "ms" ; general.msg = "hi,how are you" ; teacher.general = general; Descrption descrption = new Descrption(); descrption.document = "你好,吗" ; teacher.descrption = descrption; List<Part> partlist = new List<Part>(); Part part = new Part(); part.PartNum = "1" ; part.PartOver = "2" ; part.PartTitle = "p" ; Sco sco = new Sco(); sco.ScoTitle = "sco" ; sco.isok = "ok" ; part.sco= sco; Quest quest = new Quest(); quest.Title = "quest" ; part.quest = quest; List<GeovinDu> geovindu = new List<GeovinDu>(); GeovinDu du = new GeovinDu(); du.Id = 1; du.KeyWord = "geovindu" ; geovindu.Add(du); du = new GeovinDu(); du.Id = 2; du.KeyWord = "geovindu2" ; geovindu.Add(du); part.GeovinDus = geovindu; partlist.Add(part); part = new Part(); part.PartNum = "11" ; part.PartOver = "22" ; part.PartTitle = "pp" ; sco = new Sco(); sco.ScoTitle = "sco" ; sco.isok = "ok" ; part.sco = sco; quest = new Quest(); quest.Title = "quest" ; part.quest = quest; geovindu = new List<GeovinDu>(); du = new GeovinDu(); du.Id = 2; du.KeyWord = "geovindu" ; geovindu.Add(du); du = new GeovinDu(); du.Id = 2; du.KeyWord = "geovindu2" ; geovindu.Add(du); part.GeovinDus = geovindu; partlist.Add(part); teacher.partlist = partlist; string file = Server.MapPath( "geovinduteach.xml" ); XmlSerializer xswrite = new XmlSerializer( typeof (Teacher)); //Stream stream = new FileStream(file, FileMode.Create, FileAccess.Write, FileShare.Read); //xswrite.Serialize(stream, teacher); Stream stream = new FileStream(file, FileMode.Open, FileAccess.Read, FileShare.Read); Teacher p = xswrite.Deserialize(stream) as Teacher; Response.Write(p.LessonTitle); |
xml file
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 | <?xml version= "1.0" ?> <Teacher xmlns:xsi= "http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd= "http://www.w3.org/2001/XMLSchema" LessonTitle= "geovindu 涂聚文" > <general title= "ms" msg= "hi,how are you" /> <descrption document= "你好,吗" /> <Part PartTitle= "p" PartNum= "1" PartOver= "2" > <GeovinDus> <GeovinDu> <id>1</id> <KeyWord>geovindu</KeyWord> </GeovinDu> <GeovinDu> <id>2</id> <KeyWord>geovindu2</KeyWord> </GeovinDu> </GeovinDus> <Sco ScoTitle= "sco" isok= "ok" > <id>0</id> </Sco> <quest Title= "quest" > <id>0</id> </quest> </Part> <Part PartTitle= "pp" PartNum= "11" PartOver= "22" > <GeovinDus> <GeovinDu> <id>2</id> <KeyWord>geovindu</KeyWord> </GeovinDu> <GeovinDu> <id>2</id> <KeyWord>geovindu2</KeyWord> </GeovinDu> </GeovinDus> <Sco ScoTitle= "sco" isok= "ok" > <id>0</id> </Sco> <quest Title= "quest" > <id>0</id> </quest> </Part> </Teacher> |
哲学管理(学)人生, 文学艺术生活, 自动(计算机学)物理(学)工作, 生物(学)化学逆境, 历史(学)测绘(学)时间, 经济(学)数学金钱(理财), 心理(学)医学情绪, 诗词美容情感, 美学建筑(学)家园, 解构建构(分析)整合学习, 智商情商(IQ、EQ)运筹(学)生存.---Geovin Du(涂聚文)
分类:
CSharp code
标签:
xml
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 零经验选手,Compose 一天开发一款小游戏!
· 一起来玩mcp_server_sqlite,让AI帮你做增删改查!!
2015-02-11 csharp:SQLite and Access using C# code read data