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

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>


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值