ExtJs4.0+ASP.net(c#) 操作XML文件

来源:互联网 发布:ping和rtt区别知乎 编辑:程序博客网 时间:2024/06/01 22:31

ExtJs代码:

/*--数据存诸器--*/Ext.define('Cate', {extend: 'Ext.data.Model',fields: ['cate_1', 'cate_2', 'cate_3']});var cate_store = new Ext.data.Store({model: 'Cate',autoLoad:false,pageSize:4,remoteSort:true,proxy: {type: 'ajax',url : 'cates.aspx',reader: {type: 'json',root: 'cates',totalProperty:'total'},simpleSortMode: true}});/*--分页工具栏--*/  var bbar = new Ext.PagingToolbar({                 store : cate_store,                 displayInfo : true,                 displayMsg : '第 {0} 条到  {1} 条, 一共 {2} 条',                 emptyMsg : "没有记录",                 beforePageText : '页码',                 afterPageText : '总页数 {0}',                 firstText : '首页',                 prevText : '上一页',                 nextText : '下一页',                 lastText : '末页',                 refreshText : '刷新'           }); /*--数据列表--*/var cate_grid=Ext.create('Ext.grid.Panel',{store:cate_store,id:'cate_grid',border:false,//loadMask:new Ext.LoadMask(this,{msg:'fsdfsfds'}).show(),columns:[new Ext.grid.RowNumberer({header:'编号',width:35,align:'center'}),{header:'顶级分类',dataIndex:'cate_1'},{header:'二级分类',dataIndex:'cate_2'},{header:'三级分类',dataIndex:'cate_3'}],bbar:bbar});/*--数据存储器加载数据--*/   cate_store.load();

cates.aspx代码:

<%@ page Language="C#"%> <%@ Import Namespace="System.Xml"%> <script runat=server language="C#"> /*--页面载入--*/protected void Page_Load (Object sender ,EventArgs e) { int start=int.Parse(Request.QueryString["start"]+"");int limit=int.Parse(Request.QueryString["limit"]+"");String sort=Request.QueryString["sort"]+"";String dir=Request.QueryString["start"]+"";ReadXml(start,limit,sort,dir);} /*--读取XML文件转化为json数据--*/public void ReadXml(int start,int limit,String sort,String dir) { String xml="cates.xml";XmlDocument doc = new XmlDocument(); doc.Load(MapPath(xml));XmlNode rootNode = doc.SelectSingleNode("cates");int len=rootNode.ChildNodes.Count;String[] cate1=new String[len];String[] cate2=new String[len];String[] cate3=new String[len];//每一列存到数组中XmlNodeList xnl = rootNode.ChildNodes;int i=0;foreach (XmlNode xnf in xnl)  {  XmlElement xe = (XmlElement)xnf;  XmlNodeList xnf1 = xe.ChildNodes;foreach (XmlNode xn2 in xnf1)  {  switch(xn2.Name){case "cate_1":cate1[i]=xn2.InnerText;break;case "cate_2":cate2[i]=xn2.InnerText;break;case "cate_3":cate3[i]=xn2.InnerText;break;}}  i++;}String jsonStr="{'total':"+len+",'cates':[";for(int c=start;c<((start+limit)>len?len:(start+limit));c++)jsonStr+="{'cate_1':'"+cate1[c]+"','cate_2':'"+cate2[c]+"','cate_3':'"+cate3[c]+"'},";jsonStr=jsonStr.Substring(0,jsonStr.Length-1);jsonStr+="]}";Response.Write(jsonStr);} /*--写入XML文件--*/public void WriteXml(){String xml="users.xml";XmlDocument doc = new XmlDocument();doc.Load(MapPath(xml));XmlNode users = doc.SelectSingleNode("users");XmlElement user = doc.CreateElement("user");XmlElement name = doc.CreateElement("name");name.InnerText="haosan";XmlElement sex = doc.CreateElement("sex");sex.InnerText="男";XmlElement age = doc.CreateElement("age");age.InnerText="100";user.AppendChild(name);user.AppendChild(sex);user.AppendChild(age);users.AppendChild(user);doc.Save(MapPath(xml));}</script>

cates.xml文件:

<?xml version="1.0" encoding="UTF-8"?><cates>  <cate>    <cate_1>生活用品1</cate_1>    <cate_2>家用电器</cate_2>    <cate_3>电视机</cate_3>  </cate>  <cate>    <cate_1>生活用品2</cate_1>    <cate_2>家用电器</cate_2>    <cate_3>电冰箱</cate_3>  </cate></cates>


原创粉丝点击