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读取及序列化
最新推荐文章于 2025-04-12 14:22:37 发布