新客网WWW.XKER.COM:致力做中国最专业的网络学院!
学院: 操作系统 - 网络应用 - 服务器 - 网络安全 - 工具软件 - 办公软件 - Web开发 - 数据库 - 网页设计 - 图形图像 - 媒体动画 - 硬件学堂 - 存储频道 - QQ专区
您的位置:首页 > 软件开发 > Web开发 > Asp教程 > 正文:使用递归获取网站下的所有同类型文件

使用递归获取网站下的所有同类型文件

新客网 XKER.COM 2004-08-21 来源: 收藏本文
红色字体就是啦,如有不明白的话,请与我联系QQ:20028205

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);

}
}
}




}

}
}



收藏】 【评论】 【推荐】 【投稿】 【打印】 【关闭
发表评论
要记得去论坛讨论,点击注册新会员匿名评论
评论内容:不能超过250字,需审核后才会公布,请自觉遵守互联网相关政策法规。
阅读排行
随机推荐
实用信息推荐