在做一个影城订票系统的时候,因为设计人员在设计数据库的时候,把座位预订的信息存入一个XML格式的字符串,然后存入一个text型字段.想要更好的读与写,哪么就用到了C#的序列化与反序列化.以前没有用过,借这次的机会,就学习一下.下面做一下总结
个人感觉序列化的主要做用,就是把数据做成可以跨平台的数据,然后可以进行平台之前的传送.而跨平台最好的数据格式就是XML了.这个不用多说,大家都知道.
我用的功能,主要就是将XML反序列化成数据模型,进行读到,然后进行修改,再把修改后的数据模型序列化成XML文件,存回去,好了,不多说,上代码
我先将我的三个数据model放出来.这里说一下,你所建立的model层各个字段,必须和XML中的各结点的名字一样.
大家注意了,如果要用想用序列化[Serializable]必须加在你的数据model中
一, 影厅model
using System;
using System.Collections.Generic;
namespace WapFilem.Models
{
/// <summary>
/// 实体类cinemarooms 。(属性说明自动提取数据库字段的描述信息)
/// </summary>
///大家注意了,如果要用想用序列化[Serializable]必须加在你的数据model中
[Serializable]
public class cinemarooms
{
public cinemarooms()
{}
#region Model
private int _cinemarooms_id;
private string _cinemarooms_name;
private int _cinema_id;
private int _cinemarooms_rownumber;
private int _cinemarooms_columnnmubers;
private string _cinemarooms_schema;
private string _cinemarooms_remark;
/// <summary>
/// 影厅标识
/// </summary>
public int cinemarooms_id
{
set{ _cinemarooms_id=value;}
get{return _cinemarooms_id;}
}
/// <summary>
/// 影厅名称
/// </summary>
public string cinemarooms_name
{
set{ _cinemarooms_name=value;}
get{return _cinemarooms_name;}
}
/// <summary>
/// 所属影院cinema外键
/// </summary>
public int cinema_id
{
set{ _cinema_id=value;}
get{return _cinema_id;}
}
/// <summary>
/// 座位排数
/// </summary>
public int cinemarooms_rownumber
{
set{ _cinemarooms_rownumber=value;}
get{return _cinemarooms_rownumber;}
}
/// <summary>
/// 座位列数
/// </summary>
public int cinemarooms_columnnmubers
{
set{ _cinemarooms_columnnmubers=value;}
get{return _cinemarooms_columnnmubers;}
}
/// <summary>
/// 影厅模型
/// </summary>
public string cinemarooms_schema
{
set{ _cinemarooms_schema=value;}
get{return _cinemarooms_schema;}
}
/// <summary>
/// 影厅备注
/// </summary>
public string cinemarooms_remark
{
set{ _cinemarooms_remark=value;}
get{return _cinemarooms_remark;}
}
/// <summary>
/// 影厅座位排数信息
/// </summary>
public List<cinemarowseat> Cinemarowseat { get; set; }
#endregion Model
}
}
二,影厅排modelusing System;
using System.Collections.Generic;
namespace WapFilem.Models
{
/// <summary>
/// 实体类cinemarowseat 。(属性说明自动提取数据库字段的描述信息)
/// </summary>
[Serializable]
public class cinemarowseat
{
public cinemarowseat()
{}
#region Model
private int _cinemarowseat_id;
private string _cinemarowseat_name;
private int _cinemarooms_id;
private string _cinemarowseat_remark;
/// <summary>
/// 座位排数标识
/// </summary>
public int cinemarowseat_id
{
set{ _cinemarowseat_id=value;}
get{return _cinemarowseat_id;}
}
/// <summary>
/// 座位排数名称 如一排
/// </summary>
public string cinemarowseat_name
{
set{ _cinemarowseat_name=value;}
get{return _cinemarowseat_name;}
}
/// <summary>
/// 所属影厅
/// </summary>
public int cinemarooms_id
{
set{ _cinemarooms_id=value;}
get{return _cinemarooms_id;}
}
/// <summary>
/// 备注
/// </summary>
public string cinemarowseat_remark
{
set{ _cinemarowseat_remark=value;}
get{return _cinemarowseat_remark;}
}
/// <summary>
/// 影厅行数信息
/// </summary>
public List<cinemacolumnseat> Cinemacolumnseat { get; set; }
#endregion Model
}
}
三,影厅座位号
using System;
namespace WapFilem.Models
{
/// <summary>
/// 实体类cinemacolumnseat 。(属性说明自动提取数据库字段的描述信息)
/// </summary>
[Serializable]
public class cinemacolumnseat
{
public cinemacolumnseat()
{}
#region Model
private int _cinemacolumnseat_id;
private string _cinemacolumnseat_name;
private int _cinemarowseat_id;
private int _cinemacolumnseat_diplay;
private string _cinemacolumnseat_number;
private int _cinemacolumnseat_hasorder;
private string _cinemacolumnseat_remark;
/// <summary>
/// 座位列数标识
/// </summary>
public int cinemacolumnseat_id
{
set{ _cinemacolumnseat_id=value;}
get{return _cinemacolumnseat_id;}
}
/// <summary>
/// 座位列数名称 例 1座 2座
/// </summary>
public string cinemacolumnseat_name
{
set{ _cinemacolumnseat_name=value;}
get{return _cinemacolumnseat_name;}
}
/// <summary>
/// 所属排数
/// </summary>
public int cinemarowseat_id
{
set{ _cinemarowseat_id=value;}
get{return _cinemarowseat_id;}
}
/// <summary>
/// 座位是否显示 在页面中 0不显示 1 显示
/// </summary>
public int cinemacolumnseat_diplay
{
set{ _cinemacolumnseat_diplay=value;}
get{return _cinemacolumnseat_diplay;}
}
/// <summary>
/// 座位序号
/// </summary>
public string cinemacolumnseat_number
{
set{ _cinemacolumnseat_number=value;}
get{return _cinemacolumnseat_number;}
}
/// <summary>
/// 座位是否已订出 0 未订 1已订 作废 应出现在关系表中
/// </summary>
public int cinemacolumnseat_hasorder
{
set{ _cinemacolumnseat_hasorder=value;}
get{return _cinemacolumnseat_hasorder;}
}
/// <summary>
/// 座位备注
/// </summary>
public string cinemacolumnseat_remark
{
set{ _cinemacolumnseat_remark=value;}
get{return _cinemacolumnseat_remark;}
}
#endregion Model
}
}
下面是对应的XML文件格式
<?xml version="1.0"?>
<cinemarooms xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<cinemarooms_id>1</cinemarooms_id>
<cinemarooms_name>一号厅</cinemarooms_name>
<cinema_id>1</cinema_id>
<cinemarooms_rownumber>5</cinemarooms_rownumber>
<cinemarooms_columnnmubers>7</cinemarooms_columnnmubers>
<cinemarooms_schema>\cinemal\cinemal_1_1.xml</cinemarooms_schema>
<cinemarooms_remark>备注内容</cinemarooms_remark>
<Cinemarowseat>
<cinemarowseat>
<cinemarowseat_id>1</cinemarowseat_id>
<cinemarowseat_name>1排</cinemarowseat_name>
<cinemarooms_id>1</cinemarooms_id>
<cinemarowseat_remark />
<Cinemacolumnseat>
<cinemacolumnseat>
<cinemacolumnseat_id>1</cinemacolumnseat_id>
<cinemacolumnseat_name>1座</cinemacolumnseat_name>
<cinemarowseat_id>1</cinemarowseat_id>
<cinemacolumnseat_diplay>0</cinemacolumnseat_diplay>
<cinemacolumnseat_number>1</cinemacolumnseat_number>
<cinemacolumnseat_hasorder>0</cinemacolumnseat_hasorder>
<cinemacolumnseat_remark />
</cinemacolumnseat>
<cinemacolumnseat>
<cinemacolumnseat_id>2</cinemacolumnseat_id>
<cinemacolumnseat_name>2座</cinemacolumnseat_name>
<cinemarowseat_id>1</cinemarowseat_id>
<cinemacolumnseat_diplay>1</cinemacolumnseat_diplay>
<cinemacolumnseat_number>2</cinemacolumnseat_number>
<cinemacolumnseat_hasorder>0</cinemacolumnseat_hasorder>
<cinemacolumnseat_remark />
</cinemacolumnseat>
<cinemacolumnseat>
<cinemacolumnseat_id>3</cinemacolumnseat_id>
<cinemacolumnseat_name>3座</cinemacolumnseat_name>
<cinemarowseat_id>1</cinemarowseat_id>
<cinemacolumnseat_diplay>1</cinemacolumnseat_diplay>
<cinemacolumnseat_number>3</cinemacolumnseat_number>
<cinemacolumnseat_hasorder>0</cinemacolumnseat_hasorder>
<cinemacolumnseat_remark />
</cinemacolumnseat>
<cinemacolumnseat>
<cinemacolumnseat_id>4</cinemacolumnseat_id>
<cinemacolumnseat_name>4座</cinemacolumnseat_name>
<cinemarowseat_id>1</cinemarowseat_id>
<cinemacolumnseat_diplay>1</cinemacolumnseat_diplay>
<cinemacolumnseat_number>4</cinemacolumnseat_number>
<cinemacolumnseat_hasorder>0</cinemacolumnseat_hasorder>
<cinemacolumnseat_remark />
</cinemacolumnseat>
<cinemacolumnseat>
<cinemacolumnseat_id>5</cinemacolumnseat_id>
<cinemacolumnseat_name>5座</cinemacolumnseat_name>
<cinemarowseat_id>1</cinemarowseat_id>
<cinemacolumnseat_diplay>1</cinemacolumnseat_diplay>
<cinemacolumnseat_number>5</cinemacolumnseat_number>
<cinemacolumnseat_hasorder>0</cinemacolumnseat_hasorder>
<cinemacolumnseat_remark />
</cinemacolumnseat>
<cinemacolumnseat>
<cinemacolumnseat_id>6</cinemacolumnseat_id>
<cinemacolumnseat_name>6座</cinemacolumnseat_name>
<cinemarowseat_id>1</cinemarowseat_id>
<cinemacolumnseat_diplay>1</cinemacolumnseat_diplay>
<cinemacolumnseat_number>6</cinemacolumnseat_number>
<cinemacolumnseat_hasorder>0</cinemacolumnseat_hasorder>
<cinemacolumnseat_remark />
</cinemacolumnseat>
<cinemacolumnseat>
<cinemacolumnseat_id>7</cinemacolumnseat_id>
<cinemacolumnseat_name>7座</cinemacolumnseat_name>
<cinemarowseat_id>1</cinemarowseat_id>
<cinemacolumnseat_diplay>1</cinemacolumnseat_diplay>
<cinemacolumnseat_number>7</cinemacolumnseat_number>
<cinemacolumnseat_hasorder>0</cinemacolumnseat_hasorder>
<cinemacolumnseat_remark />
</cinemacolumnseat>
</Cinemacolumnseat>
</cinemarowseat>
<cinemarowseat>
<cinemarowseat_id>2</cinemarowseat_id>
<cinemarowseat_name>2排</cinemarowseat_name>
<cinemarooms_id>1</cinemarooms_id>
<cinemarowseat_remark />
<Cinemacolumnseat>
<cinemacolumnseat>
<cinemacolumnseat_id>1</cinemacolumnseat_id>
<cinemacolumnseat_name>1座</cinemacolumnseat_name>
<cinemarowseat_id>2</cinemarowseat_id>
<cinemacolumnseat_diplay>1</cinemacolumnseat_diplay>
<cinemacolumnseat_number>1</cinemacolumnseat_number>
<cinemacolumnseat_hasorder>0</cinemacolumnseat_hasorder>
<cinemacolumnseat_remark />
</cinemacolumnseat>
<cinemacolumnseat>
<cinemacolumnseat_id>2</cinemacolumnseat_id>
<cinemacolumnseat_name>2座</cinemacolumnseat_name>
<cinemarowseat_id>2</cinemarowseat_id>
<cinemacolumnseat_diplay>1</cinemacolumnseat_diplay>
<cinemacolumnseat_number>2</cinemacolumnseat_number>
<cinemacolumnseat_hasorder>0</cinemacolumnseat_hasorder>
<cinemacolumnseat_remark />
</cinemacolumnseat>
<cinemacolumnseat>
<cinemacolumnseat_id>3</cinemacolumnseat_id>
<cinemacolumnseat_name>3座</cinemacolumnseat_name>
<cinemarowseat_id>2</cinemarowseat_id>
<cinemacolumnseat_diplay>1</cinemacolumnseat_diplay>
<cinemacolumnseat_number>3</cinemacolumnseat_number>
<cinemacolumnseat_hasorder>0</cinemacolumnseat_hasorder>
<cinemacolumnseat_remark />
</cinemacolumnseat>
<cinemacolumnseat>
<cinemacolumnseat_id>4</cinemacolumnseat_id>
<cinemacolumnseat_name>4座</cinemacolumnseat_name>
<cinemarowseat_id>2</cinemarowseat_id>
<cinemacolumnseat_diplay>1</cinemacolumnseat_diplay>
<cinemacolumnseat_number>4</cinemacolumnseat_number>
<cinemacolumnseat_hasorder>0</cinemacolumnseat_hasorder>
<cinemacolumnseat_remark />
</cinemacolumnseat>
<cinemacolumnseat>
<cinemacolumnseat_id>5</cinemacolumnseat_id>
<cinemacolumnseat_name>5座</cinemacolumnseat_name>
<cinemarowseat_id>2</cinemarowseat_id>
<cinemacolumnseat_diplay>1</cinemacolumnseat_diplay>
<cinemacolumnseat_number>5</cinemacolumnseat_number>
<cinemacolumnseat_hasorder>0</cinemacolumnseat_hasorder>
<cinemacolumnseat_remark />
</cinemacolumnseat>
<cinemacolumnseat>
<cinemacolumnseat_id>6</cinemacolumnseat_id>
<cinemacolumnseat_name>6座</cinemacolumnseat_name>
<cinemarowseat_id>2</cinemarowseat_id>
<cinemacolumnseat_diplay>1</cinemacolumnseat_diplay>
<cinemacolumnseat_number>6</cinemacolumnseat_number>
<cinemacolumnseat_hasorder>0</cinemacolumnseat_hasorder>
<cinemacolumnseat_remark />
</cinemacolumnseat>
<cinemacolumnseat>
<cinemacolumnseat_id>7</cinemacolumnseat_id>
<cinemacolumnseat_name>7座</cinemacolumnseat_name>
<cinemarowseat_id>2</cinemarowseat_id>
<cinemacolumnseat_diplay>1</cinemacolumnseat_diplay>
<cinemacolumnseat_number>7</cinemacolumnseat_number>
<cinemacolumnseat_hasorder>0</cinemacolumnseat_hasorder>
<cinemacolumnseat_remark />
</cinemacolumnseat>
</Cinemacolumnseat>
</cinemarowseat>
<cinemarowseat>
<cinemarowseat_id>3</cinemarowseat_id>
<cinemarowseat_name>3排</cinemarowseat_name>
<cinemarooms_id>1</cinemarooms_id>
<cinemarowseat_remark />
<Cinemacolumnseat>
<cinemacolumnseat>
<cinemacolumnseat_id>1</cinemacolumnseat_id>
<cinemacolumnseat_name>1座</cinemacolumnseat_name>
<cinemarowseat_id>3</cinemarowseat_id>
<cinemacolumnseat_diplay>1</cinemacolumnseat_diplay>
<cinemacolumnseat_number>1</cinemacolumnseat_number>
<cinemacolumnseat_hasorder>0</cinemacolumnseat_hasorder>
<cinemacolumnseat_remark />
</cinemacolumnseat>
<cinemacolumnseat>
<cinemacolumnseat_id>2</cinemacolumnseat_id>
<cinemacolumnseat_name>2座</cinemacolumnseat_name>
<cinemarowseat_id>3</cinemarowseat_id>
<cinemacolumnseat_diplay>1</cinemacolumnseat_diplay>
<cinemacolumnseat_number>2</cinemacolumnseat_number>
<cinemacolumnseat_hasorder>0</cinemacolumnseat_hasorder>
<cinemacolumnseat_remark />
</cinemacolumnseat>
<cinemacolumnseat>
<cinemacolumnseat_id>3</cinemacolumnseat_id>
<cinemacolumnseat_name>3座</cinemacolumnseat_name>
<cinemarowseat_id>3</cinemarowseat_id>
<cinemacolumnseat_diplay>1</cinemacolumnseat_diplay>
<cinemacolumnseat_number>3</cinemacolumnseat_number>
<cinemacolumnseat_hasorder>0</cinemacolumnseat_hasorder>
<cinemacolumnseat_remark />
</cinemacolumnseat>
<cinemacolumnseat>
<cinemacolumnseat_id>4</cinemacolumnseat_id>
<cinemacolumnseat_name>4座</cinemacolumnseat_name>
<cinemarowseat_id>3</cinemarowseat_id>
<cinemacolumnseat_diplay>1</cinemacolumnseat_diplay>
<cinemacolumnseat_number>4</cinemacolumnseat_number>
<cinemacolumnseat_hasorder>0</cinemacolumnseat_hasorder>
<cinemacolumnseat_remark />
</cinemacolumnseat>
<cinemacolumnseat>
<cinemacolumnseat_id>5</cinemacolumnseat_id>
<cinemacolumnseat_name>5座</cinemacolumnseat_name>
<cinemarowseat_id>3</cinemarowseat_id>
<cinemacolumnseat_diplay>1</cinemacolumnseat_diplay>
<cinemacolumnseat_number>5</cinemacolumnseat_number>
<cinemacolumnseat_hasorder>0</cinemacolumnseat_hasorder>
<cinemacolumnseat_remark />
</cinemacolumnseat>
<cinemacolumnseat>
<cinemacolumnseat_id>6</cinemacolumnseat_id>
<cinemacolumnseat_name>6座</cinemacolumnseat_name>
<cinemarowseat_id>3</cinemarowseat_id>
<cinemacolumnseat_diplay>1</cinemacolumnseat_diplay>
<cinemacolumnseat_number>6</cinemacolumnseat_number>
<cinemacolumnseat_hasorder>0</cinemacolumnseat_hasorder>
<cinemacolumnseat_remark />
</cinemacolumnseat>
<cinemacolumnseat>
<cinemacolumnseat_id>7</cinemacolumnseat_id>
<cinemacolumnseat_name>7座</cinemacolumnseat_name>
<cinemarowseat_id>3</cinemarowseat_id>
<cinemacolumnseat_diplay>1</cinemacolumnseat_diplay>
<cinemacolumnseat_number>7</cinemacolumnseat_number>
<cinemacolumnseat_hasorder>0</cinemacolumnseat_hasorder>
<cinemacolumnseat_remark />
</cinemacolumnseat>
</Cinemacolumnseat>
</cinemarowseat>
<cinemarowseat>
<cinemarowseat_id>4</cinemarowseat_id>
<cinemarowseat_name>4排</cinemarowseat_name>
<cinemarooms_id>1</cinemarooms_id>
<cinemarowseat_remark />
<Cinemacolumnseat>
<cinemacolumnseat>
<cinemacolumnseat_id>1</cinemacolumnseat_id>
<cinemacolumnseat_name>1座</cinemacolumnseat_name>
<cinemarowseat_id>4</cinemarowseat_id>
<cinemacolumnseat_diplay>1</cinemacolumnseat_diplay>
<cinemacolumnseat_number>1</cinemacolumnseat_number>
<cinemacolumnseat_hasorder>0</cinemacolumnseat_hasorder>
<cinemacolumnseat_remark />
</cinemacolumnseat>
<cinemacolumnseat>
<cinemacolumnseat_id>2</cinemacolumnseat_id>
<cinemacolumnseat_name>2座</cinemacolumnseat_name>
<cinemarowseat_id>4</cinemarowseat_id>
<cinemacolumnseat_diplay>1</cinemacolumnseat_diplay>
<cinemacolumnseat_number>2</cinemacolumnseat_number>
<cinemacolumnseat_hasorder>0</cinemacolumnseat_hasorder>
<cinemacolumnseat_remark />
</cinemacolumnseat>
<cinemacolumnseat>
<cinemacolumnseat_id>3</cinemacolumnseat_id>
<cinemacolumnseat_name>3座</cinemacolumnseat_name>
<cinemarowseat_id>4</cinemarowseat_id>
<cinemacolumnseat_diplay>1</cinemacolumnseat_diplay>
<cinemacolumnseat_number>3</cinemacolumnseat_number>
<cinemacolumnseat_hasorder>0</cinemacolumnseat_hasorder>
<cinemacolumnseat_remark />
</cinemacolumnseat>
<cinemacolumnseat>
<cinemacolumnseat_id>4</cinemacolumnseat_id>
<cinemacolumnseat_name>4座</cinemacolumnseat_name>
<cinemarowseat_id>4</cinemarowseat_id>
<cinemacolumnseat_diplay>1</cinemacolumnseat_diplay>
<cinemacolumnseat_number>4</cinemacolumnseat_number>
<cinemacolumnseat_hasorder>0</cinemacolumnseat_hasorder>
<cinemacolumnseat_remark />
</cinemacolumnseat>
<cinemacolumnseat>
<cinemacolumnseat_id>5</cinemacolumnseat_id>
<cinemacolumnseat_name>5座</cinemacolumnseat_name>
<cinemarowseat_id>4</cinemarowseat_id>
<cinemacolumnseat_diplay>1</cinemacolumnseat_diplay>
<cinemacolumnseat_number>5</cinemacolumnseat_number>
<cinemacolumnseat_hasorder>0</cinemacolumnseat_hasorder>
<cinemacolumnseat_remark />
</cinemacolumnseat>
<cinemacolumnseat>
<cinemacolumnseat_id>6</cinemacolumnseat_id>
<cinemacolumnseat_name>6座</cinemacolumnseat_name>
<cinemarowseat_id>4</cinemarowseat_id>
<cinemacolumnseat_diplay>1</cinemacolumnseat_diplay>
<cinemacolumnseat_number>6</cinemacolumnseat_number>
<cinemacolumnseat_hasorder>0</cinemacolumnseat_hasorder>
<cinemacolumnseat_remark />
</cinemacolumnseat>
<cinemacolumnseat>
<cinemacolumnseat_id>7</cinemacolumnseat_id>
<cinemacolumnseat_name>7座</cinemacolumnseat_name>
<cinemarowseat_id>4</cinemarowseat_id>
<cinemacolumnseat_diplay>1</cinemacolumnseat_diplay>
<cinemacolumnseat_number>7</cinemacolumnseat_number>
<cinemacolumnseat_hasorder>0</cinemacolumnseat_hasorder>
<cinemacolumnseat_remark />
</cinemacolumnseat>
</Cinemacolumnseat>
</cinemarowseat>
<cinemarowseat>
<cinemarowseat_id>5</cinemarowseat_id>
<cinemarowseat_name>5排</cinemarowseat_name>
<cinemarooms_id>1</cinemarooms_id>
<cinemarowseat_remark />
<Cinemacolumnseat>
<cinemacolumnseat>
<cinemacolumnseat_id>1</cinemacolumnseat_id>
<cinemacolumnseat_name>1座</cinemacolumnseat_name>
<cinemarowseat_id>5</cinemarowseat_id>
<cinemacolumnseat_diplay>1</cinemacolumnseat_diplay>
<cinemacolumnseat_number>1</cinemacolumnseat_number>
<cinemacolumnseat_hasorder>0</cinemacolumnseat_hasorder>
<cinemacolumnseat_remark />
</cinemacolumnseat>
<cinemacolumnseat>
<cinemacolumnseat_id>2</cinemacolumnseat_id>
<cinemacolumnseat_name>2座</cinemacolumnseat_name>
<cinemarowseat_id>5</cinemarowseat_id>
<cinemacolumnseat_diplay>1</cinemacolumnseat_diplay>
<cinemacolumnseat_number>2</cinemacolumnseat_number>
<cinemacolumnseat_hasorder>0</cinemacolumnseat_hasorder>
<cinemacolumnseat_remark />
</cinemacolumnseat>
<cinemacolumnseat>
<cinemacolumnseat_id>3</cinemacolumnseat_id>
<cinemacolumnseat_name>3座</cinemacolumnseat_name>
<cinemarowseat_id>5</cinemarowseat_id>
<cinemacolumnseat_diplay>1</cinemacolumnseat_diplay>
<cinemacolumnseat_number>3</cinemacolumnseat_number>
<cinemacolumnseat_hasorder>0</cinemacolumnseat_hasorder>
<cinemacolumnseat_remark />
</cinemacolumnseat>
<cinemacolumnseat>
<cinemacolumnseat_id>4</cinemacolumnseat_id>
<cinemacolumnseat_name>4座</cinemacolumnseat_name>
<cinemarowseat_id>5</cinemarowseat_id>
<cinemacolumnseat_diplay>1</cinemacolumnseat_diplay>
<cinemacolumnseat_number>4</cinemacolumnseat_number>
<cinemacolumnseat_hasorder>0</cinemacolumnseat_hasorder>
<cinemacolumnseat_remark />
</cinemacolumnseat>
<cinemacolumnseat>
<cinemacolumnseat_id>5</cinemacolumnseat_id>
<cinemacolumnseat_name>5座</cinemacolumnseat_name>
<cinemarowseat_id>5</cinemarowseat_id>
<cinemacolumnseat_diplay>1</cinemacolumnseat_diplay>
<cinemacolumnseat_number>5</cinemacolumnseat_number>
<cinemacolumnseat_hasorder>0</cinemacolumnseat_hasorder>
<cinemacolumnseat_remark />
</cinemacolumnseat>
<cinemacolumnseat>
<cinemacolumnseat_id>6</cinemacolumnseat_id>
<cinemacolumnseat_name>6座</cinemacolumnseat_name>
<cinemarowseat_id>5</cinemarowseat_id>
<cinemacolumnseat_diplay>1</cinemacolumnseat_diplay>
<cinemacolumnseat_number>6</cinemacolumnseat_number>
<cinemacolumnseat_hasorder>0</cinemacolumnseat_hasorder>
<cinemacolumnseat_remark />
</cinemacolumnseat>
<cinemacolumnseat>
<cinemacolumnseat_id>7</cinemacolumnseat_id>
<cinemacolumnseat_name>7座</cinemacolumnseat_name>
<cinemarowseat_id>5</cinemarowseat_id>
<cinemacolumnseat_diplay>1</cinemacolumnseat_diplay>
<cinemacolumnseat_number>7</cinemacolumnseat_number>
<cinemacolumnseat_hasorder>0</cinemacolumnseat_hasorder>
<cinemacolumnseat_remark />
</cinemacolumnseat>
</Cinemacolumnseat>
</cinemarowseat>
</Cinemarowseat>
</cinemarooms>
OK了,数据基本上就是这些,下面我们开始读取相关的信息
这里有一点要注意的是,这段XML文件,我不是存在一个文件里,而是做为一个字符串存到了一个字段里.
一,读取数据
public Models.cinemarooms GetRoom(int filmsessionid)
{
Models.cinemarooms cinemarooms = new Models.cinemarooms();
string strsql = "select * from cl_filemsession where filemsession_id=" + filmsessionid + "";
DataTable dt = DBUtility.DbHelperSQL.Query(strsql).Tables[0];
if (dt.Rows.Count > 0)
{
//采用XmlSerializer
XmlSerializer s = new XmlSerializer(typeof(Models.cinemarooms));
//在数据库中将XML格式的数据取出
StringReader sr = new StringReader(dt.Rows[0]["filemsession_module"].ToString());
//将XML格式的数据反序列化成model
cinemarooms = (Models.cinemarooms)s.Deserialize(sr);
}
return cinemarooms;
}
数据读出来了,你想干什么,就动手吧.下面我们来看一下,如何修改其中的值,然后再存回去
public void UpdateInfo(int filmsessionid)
{
string strsql = "select * from cl_filemsession where filemsession_id=" + filmsessionid + "";
DataTable dt = DBUtility.DbHelperSQL.Query(strsql).Tables[0];
if (dt.Rows.Count > 0)
{
//采用XmlSerializer
XmlSerializer s = new XmlSerializer(typeof(Models.cinemarooms));
//在数据库中将XML格式的数据取出
StringReader sr = new StringReader(dt.Rows[0]["filemsession_module"].ToString());
//将XML格式的数据反序列化成model
Models.cinemarooms cinemarooms = (Models.cinemarooms)s.Deserialize(sr);
//这里我是修改一下一号影厅一排一号座被选
foreach (Models.cinemarowseat rows in cinemarooms.Cinemarowseat)
{
if (rows.cinemarowseat_id == 1)
{
foreach (Models.cinemacolumnseat seats in rows.Cinemacolumnseat)
{
if (seats.cinemacolumnseat_id == 1)
{
seats.cinemacolumnseat_hasorder = 1;
}
}
}
}
//采用XmlSerializer
XmlSerializer xs = new XmlSerializer(typeof(Models.cinemarooms));
//定义接收
StringWriter sw = new StringWriter();
//序列化数据
xs.Serialize(sw, cinemarooms);
//显示数据,我没写入库语句,update
string temp = sw.ToString();
}
}