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

王朝asp·作者佚名  2006-01-09
窄屏简体版  字體: |||超大  

红色字体就是啦,如有不明白的话,请与我联系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);

}

}

}

}

}

}

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
 
© 2005- 王朝網路 版權所有 導航