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

|