上一篇:ASP如何获取客户端真实IP地址 >>
使用递归获取网站下的所有同类型文件
using System;
using System.Text ;
using System.IO ;
using System.Xml ;
using System.Xml.XPath ;
using System.Web ;
using System.Collections ;
namespace GST.Common.Xml
{
/// <summary>
/// 得到站点内的所有Aspx文件,并存入Xml文件中
/// </summary>
public class GetAllFiles
{
public GetAllFiles()
{
//
// TODO: 在此处添加构造函数逻辑
//
}
/// <summary>
/// 更新Xml文件的某个支点
/// </summary>
/// <param name="Files"></param>
/// <param name="Desc"></param>
public void UpdateXmlFile(string Files,string Desc,string FileSrc)
{
XmlDocument doc = new XmlDocument();
doc.Load(HttpContext.Current.Server.MapPath(FileSrc));
XmlNode Node = doc.SelectSingleNode("/AspxFiles/File[text()=\""+Files+"\"]");
if (Node!=null)
{
Node.Attributes[0].InnerText = Desc ;
}
doc.Save(HttpContext.Current.Server.MapPath(FileSrc));
}
/// <summary>
/// 写入Xml文件
/// </summary>
public void WriteXmlFile(string FileSrc,ArrayList al)
{
XmlDocument doc = new XmlDocument();
doc.Load(HttpContext.Current.Server.MapPath(FileSrc));
XmlElement Element = doc.DocumentElement ;
bool Update= false;
foreach(object obj in al)
{
XmlNode Node = doc.SelectSingleNode("/AspxFiles/File[text()=\""+obj.ToString()+"\"]");
if (Node ==null)
{
XmlElement ElementChild =doc.CreateElement("File");
ElementChild.InnerText = obj.ToString();
XmlCDataSection cdata = doc.CreateCDataSection(obj.ToString());
XmlAttribute attribute = doc.CreateAttribute("Desc");
attribute.Value =cdata.Value ;
ElementChild.Attributes.Append(attribute);
Element.AppendChild(ElementChild);
Update = true;
}
}
if(Update)
doc.Save(HttpContext.Current.Server.MapPath(FileSrc));
}
/// <summary>
/// 返回所有的Aspx文件
/// </summary>
/// <returns>String Array</returns>
public void GetAllAspxFile(string WebPath,ref ArrayList al)
{
string[] AspxFiles = Directory.GetDirectories(WebPath);
if (AspxFiles.Length > 0)
{
foreach( string AspFile in AspxFiles)
{
foreach(string InnerFile in Directory.GetFiles(AspFile))
{
if(Path.GetExtension(InnerFile).ToLower() ==".aspx")
{
string FileName = Path.GetFileName(InnerFile);
al.Add(FileName);
}
}
GetAllAspxFile(AspFile,ref al);
}
}
else
{
string[] Files = Directory.GetFiles(WebPath);
foreach(string AspFile in Files)
{
if(Path.GetExtension(AspFile).ToLower() ==".aspx")
{
string FileName = Path.GetFileName(AspFile);
al.Add(FileName);
}
}
}
}
}
}
下一篇:使用Repeater模板 >>
相关文章:
- · 中文与数字相互转换的函数
- · 让我意外的IsNumeric()函数
- · 如何防止同一帐户重复登录系统
- · 关于view的触发器的例子
- · CIO成败的关键-ASP.NET开发工具助CIO重新定位
- · 测试Trackback II
- · 测试Trackback
- · Session使用注意事项
- · 《简单实现Crystal Report动态加载》补遗
- · 用ASP实现简单的繁简转换
- · 也谈绑定dropdownlist(3)
- · 内容管理系统的设计和选型
- · 一点准程序员工作经验总结
- · 给网站添加一个注册表 之 “类的应用”
- · asp分页的一个类
- · 提高网站在Google中的排名 ——面向搜索引擎的网站设计
- · 可缓存的CMS(网站内容管理器)系统设计
- · 把Web Control导出为Excel或Word
- · 如何实现立体的DataGrid和具有Windows效果的图片按钮
- · 一点ASP问题、差错和个人心得
- · 通过实例来实现split的理解
- · Asp.Net结合JS在图层上显示记录信息
- · Asp.net中如何处理一个站点不同Web应用通用Session的问题
- · css样式表的优先级别演示
- · 整理一个树型问题的解决方法
- · asp.net环境下的cmd命令执行
- · 常用javascript
- · 后台遍历一个HTML页面
- · 关于html上脚本语言的一点小释疑
- · 给网站添加一个注册表 之 “类的实现”
- · 给网站添加一个注册表 之 “类的设计”
- · 一个简单的上传类
- · 计数器的另一用法:自动切换首页图片
- · 性能微调提示
- · ASP.net中上传文件的操作
- · 对asp和asp程序员的一些话。。。
- · 英文版的Visual Studio.Net 2003 快捷键!
- · 如何定时运行ASP文件(转载)
