当前位置:K88软件开发文章中心编程语言.NET.NET01 → 文章内容

asp.net类序列化生成xml文件实例详解

减小字体 增大字体 作者:     来源:asp编程网  发布时间:2018-12-30 7:43:55

本文实例讲述了asp.net类序列化生成xml文件的方法。分享给大家供大家参考,具体如下:

根据设计的需求需要开发多个商品的API 原XML文件如下:

   http://www.xxxxx.com/todaydetials.aspx&
#63
id=143
爱购114 http://www.xxxxx.com/ 杭州 2011-2-9 2011-2-15 3880 2088 0.53 0

现在需求是要根据数据库有几条商品信息 相应的API XML文件出现几个URL节点! 采用类序列化成XML文件然后读取相应生成的XML文件就可以展示多个商品XML的信息 实现代码如下:

首先定义好XML 各个节点的数据及父子节点的关系类:


#region 定义数据实体类xml数据结构public class urlset
{ public List urlList
{ get
set
}}public class url
{ public string loc
{ get
set
} public List dataList
{ get
set
}}public class data
{ public List displayList
{ get
set
}}public class display
{ public string website
{ get
set
} public string siteurl
{ get
set
} public string city
{ get
set
} public string webSitetitle
{ get
set
} public string image
{ get
set
} public string startTime
{ get
set
} public string endTime
{ get
set
} public double value
{ get
set
} public double price
{ get
set
} public double rebate
{ get
set
} public int bought
{ get
set
}}
#endregion

第二步:
#region 定义获取网站信息实体类

public class WebSiteInfo
{ ///
/// 商品标题 ///
public string title
{ get
set
} ///
/// 商品发布时间 ///
public DateTime createtime
{ get
set
} ///
/// 商品图片 ///
public string productimg
{ get
set
} ///
/// 市场价 ///
public decimal market_price
{ get
set
} ///
/// 团购价 ///
public decimal team_price
{ get
set
} ///
/// 折扣价 ///
public decimal zhekou_price
{ get
set
} ///
/// 城市名称 ///
public string cityName
{ get
set
} ///
/// 商品开始时间 ///
public DateTime begin_time
{ get
set
} ///
/// 结束时间 ///
public DateTime end_time
{ get
set
} ///
/// 商家名称 ///
public string merchants_id
{ get
set
} ///
/// 本单详情 ///
public string description
{ get
set
} ///
/// 最低购买人数 ///
public int lowBuNo
{ get
set
} ///
/// 商家地址 ///
public string Address
{ get
set
} ///
/// 商家电话 ///
public string Telphone
{ get
set
} ///
/// 城市区号 ///
public string cCode
{ get
set
} ///
/// 文件夹名称 ///
public string folderName
{ get
set
} ///
/// 团购状态 ///
public string StatusMessage
{ get
set
} ///
/// 现在购买人数 ///
public int nownumber
{ get
set
} ///
/// 商品编号 ///
public int productID
{ get
set
}}
#endregion

第三步:获取数据库商品信息记录并添加到对象的集合中(Arraylist):


#region 获取xml实体类信息///
/// 获取xml实体类信息///
///
public static ArrayList GetWebModelInfo()
{ ArrayList list = new ArrayList()
string strSQL = "select a.id, a.merchantsID,a.cCode,a.prodCode,a.statue,a.now_number, a.title,a.createtime,a.productimg,a.market_price,a.team_price,a.zhekou_price,a.cityName,a.begin_time,a.end_time,a.description,a.lowBuyNo,b.Address,b.Tel from tg_product as a left join tg_merchants as b on a.merchantsID=b.merchants_id where a.ispublic=1 and statue>-1 and getdate() DataSet ds = FrameWork.Data.SqlHelper.ReturnDataSet(CommandType.Text, strSQL, null)
if (ds.Tables[0].Rows.Count > 0)
{ foreach (DataRow dr in ds.Tables[0].Rows)
{ WebSiteInfo webModel = new WebSiteInfo()
//城市名称 webModel.cityName = dr["cityName"].ToString()
//商品标题 webModel.title = dr["title"].ToString()
//商品创建时间 webModel.createtime = Convert.ToDateTime(dr["createtime"].ToString())
//商家名称 webModel.merchants_id = dr["merchantsID"].ToString()
//商品图片 webModel.productimg = dr["productimg"].ToString()
//市场价 webModel.market_price = Convert.ToDecimal(dr["market_price"].ToString())
//团购价 webModel.team_price = Convert.ToDecimal(dr["team_price"].ToString())
//折扣价 webModel.zhekou_price = Convert.ToDecimal(dr["zhekou_price"].ToString())
//开始时间 webModel.begin_time = Convert.ToDateTime(dr["begin_time"].ToString())
//结束时间 webModel.end_time = Convert.ToDateTime(dr["end_time"].ToString())
//商品说明 webModel.description = dr["description"].ToString()
//最低购买数量 webModel.lowBuNo = Convert.ToInt32(dr["lowBuyNo"].ToString())
//商家电话 webModel.Telphone = dr["Tel"].ToString()
//商家地址 webModel.Address = dr["Address"].ToString()
//城市编号 webModel.cCode = dr["cCode"].ToString()
//图片文件夹名称 webModel.folderName = dr["prodCode"].ToString()
//现在购买人数 webModel.nownumber = Convert.ToInt32(dr["now_number"].ToString())
//商品编号 webModel.productID = Convert.ToInt32(dr["id"].ToString())
int status = Convert.ToInt32(dr["statue"].ToString())
switch (status)
{ case 0: webModel.StatusMessage = "结束"
break
case 1: webModel.StatusMessage = "成功"
break
} list.Add(webModel)
} } return list
}
#endregion

最后一步将数据库读取来的信息赋值到XML 数据类型中 并序列化成XML文件保存成XML格式的文件读取文件展

[1] [2]  下一页


asp.net类序列化生成xml文件实例详解