asp.net xml读取及序列化
2008-06-22 19:18
363 查看
using System; using System.Collections.Generic; using System.Text; namespace MyCinema { /// <summary> /// 电影类 /// </summary> [Serializable] public class Movie { public Movie() { } public Movie(string _movieName,string _poster, string _director,string _actor, MovieType _myMovieType, int _price) { this.movieName = _movieName; this.poster = _poster; this.director = _director; this.actor = _actor; this.myMovieType = _myMovieType; this.price = _price; } //定义电影类型的枚举 public enum MovieType { Comedy, War, Romance, Action, Cartoon, Thriller } //电影名 private string movieName; //海报图片属性 private string poster; //导演名 private string director; //主演 private string actor; //电影类型 private MovieType myMovieType; //定价 private int price; public string MovieName { get { return movieName; } set { movieName = value; } } public string Poster { get { return poster; } set { poster = value; } } public string Director { get { return director; } set { director = value; } } public string Actor { get { return actor; } set { actor = value; } } public MovieType MyMovieType { get { return myMovieType; } set { myMovieType = value; } } public int Price { get { return price; } set { price = value; } } } } /////////////////////////////////////////////////////////////////////////////// <?xml version="1.0" encoding="utf-8" ?> <ShowList> <Movie> <Name>功夫</Name> <Poster>gongfu.jpg</Poster> <Director>周星驰</Director> <Actor>周星驰</Actor> <Type>Action</Type> <Price>60</Price> <Schedule> <Item>8-00 9-45</Item> <Item>10-00 11-45</Item> </Schedule> </Movie> <Movie> <Name>疯狂的石头</Name> <Poster>bone.jpg</Poster> <Director>宁浩</Director> <Actor>郭涛</Actor> <Type>Comedy</Type> <Price>60</Price> <Schedule> <Item>12-00 13-45</Item> <Item>14-00 15-45</Item> </Schedule> </Movie> <Movie> <Name>蜘蛛人3</Name> <Poster>spiderman3.jpg</Poster> <Director>萨姆·莱米</Director> <Actor>托贝·马奎尔</Actor> <Type>Action</Type> <Price>60</Price> <Schedule> <Item>16-00 17-45</Item> <Item>18-00 19-45</Item> </Schedule> </Movie> </ShowList> ///////////////////////////////////////////////////// using System; using System.Collections.Generic; using System.Text; using System.Xml; namespace MyCinema { /// <summary> /// 放映计划类 /// </summary> [Serializable] public class Schedule { public Schedule() { } //放映场次集合 private Dictionary<string, ScheduleItem> items; public Dictionary<string, ScheduleItem> Items { get { return items; } set { items = value; } } //读取xml文件的方法 public void LoadItems() { XmlDocument myXml = new XmlDocument(); myXml.Load("..//..//Movie.xml"); XmlNode node = myXml.DocumentElement; items = new Dictionary<string, ScheduleItem>(); foreach (XmlNode node1 in node.ChildNodes ) { //创建电影对象和场次集合对象 Movie movie = new Movie(); foreach (XmlNode node2 in node1 .ChildNodes ) { switch (node2 .Name) { case "Name": movie.MovieName = node2.InnerText; break; case "Poster": movie.Poster = node2.InnerText; break; case "Director": movie.Director = node2.InnerText; break; case "Actor": movie.Actor = node2.InnerText; break; case "Type": switch (node2.InnerText) { case "Comedy": movie.MyMovieType = Movie.MovieType .Comedy; break; case "War": movie.MyMovieType = Movie.MovieType.War; break; case "Romance": movie.MyMovieType = Movie.MovieType.Romance; break; case "Action": movie.MyMovieType = Movie.MovieType.Action; break; case "Cartoon": movie.MyMovieType = Movie.MovieType.Cartoon; break; case "Thriller": movie.MyMovieType = Movie.MovieType.Thriller; break; } break; case "Price": movie.Price = Convert.ToInt32(node2.InnerText); break; case "Schedule": foreach (XmlNode var in node2) { string time = var.InnerText; ScheduleItem scheduleItem = new ScheduleItem(); scheduleItem.time = time; scheduleItem.movie = movie; items.Add((movie.MovieName + time), scheduleItem); } break; } } } } } } /////////////////////////////////////////
相关文章推荐
- 在asp.net中读取XML文件信息的4种方法
- ASP.NET中读取XML文件4种方法
- Javascript+XMLHttpRequest+asp.net无刷新读取数据库数据
- asp.net利用对象数组实现xml序列化的代码实例
- ASP.NET读取XML文件4种方法分析
- asp.net读取Xml返回IList<T>集合
- 用XML反序列化快速完成ASP.NET配置文件
- asp.net 读取xml文件里面的内容,绑定到dropdownlist中
- ASP.NET读取XML文件4种方法
- asp.net 读取数据库生成百度sitemap_baidu.xml和谷歌
- asp.net如何读取xml文件中的数据
- 在asp.net中读取XML文件信息的4种方法
- asp.net读取xml文件相关内容
- ASP.NET读取XML文件4种方法
- 在asp.net中读取XML文件
- ASP.NET中读取XML文件4种方法
- asp.net 循环读取XML文档
- 在asp.net中读取XML文件信息的4种方法
- ASP.NET中读取XML文件信息的4种方法与示例代码
- 在asp.net中读取XML文件信息的4种方法