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讀取及序列化
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.