asp.net与xml的连接

博主开发网站时,发现部分更新频率低的数据存于数据库会增加负担,于是尝试将其存于XML,但修改和输出不如数据库便捷。博主编写了与DataSource接口的类,使用xmlDocument的xpath查询数据,可实现数据绑定和分页。

开发网站有点麻木了,发现很多的数据在使用中其实只是一两个月才更新一会的。就这都要放到数据库中去,增加了数据库的负担。所以我想将这些数据放到xml中,但是发现在作修改和输出时没有数据库的来的快,麻烦!不知道大家没有没这样的感觉?

好,言归正转在使用中我写了一个类是与DataSource接口用的!代码如下:
using System;
using System.Collections;
using System.Xml;
using System.Data;

namespace Xml
{
 /// <summary>
 /// Xml 的摘要说明。
 /// </summary>
 public class TXml
 {
  /// <summary>
  /// 创建Xml写任务
  /// </summary>
  public TXml()
  {
   //
   // TODO: 在此处添加构造函数逻辑
   //
  }
  /// <summary>
  /// 自定义数据绑定
  /// </summary>
  /// <param name="XmlFilePath">xml文件路径</param>
  /// <param name="XmlPath">XPath 搜索条件</param>
  /// <returns>返回与DataSource相对应的借口</returns>
  public  ICollection CreateDataSource(string XmlFilePath,string XmlPath)
  {
   DataTable dt = new DataTable();
   DataRow dr;
   
   XmlDocument XD=new XmlDocument();
   XD.Load(XmlFilePath);
   
   XmlNodeList xl= XD.SelectNodes(XmlPath);
   if(xl!=null && xl.Count>0)
   {
    int j;
    for(j=0;j<xl[0].Attributes.Count;j++)
    {
     dt.Columns.Add(new DataColumn(xl[0].Attributes.Item(j).LocalName, typeof(string)));
    }
    dt.Columns.Add(new DataColumn(xl[0].LocalName, typeof(string)));

    for (int i = 0; i < xl.Count; i++)
    {
     dr = dt.NewRow();
     for(j=0;j<xl[i].Attributes.Count;j++)
     {
      dr[j]=xl[i].Attributes.Item(j).InnerText;
     }
     dr[j]=xl[i].InnerText;
     dt.Rows.Add(dr);
    }

   }
   DataView dv = new DataView(dt);
   return dv;
  }
 }
}

在这个类中我使用的xmlDocument的xpath将数据直接查询

如果我想要某个节点下的记录 只需要键入
DataGrid1.DataSource=new TXml().CreateDataSource(Server.MapPath("A.xml"),"//Data/D");
DataGrid1.DataBind();

也可以实现分页

小弟才疏学浅 还要请大家多多指点

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值