public void ConvertXMLToList(XmlHolder xml, Dictionary <string, string> files) { if (xml == null) { return; } if (xml.RootNode == null) { return; } FindSubFolder(xml.RootNode, "", files); }
//比较两个mdd5文件 返回需要更新的文件 public string[] CompareMD5(string oldfile, string newfile) { if (System.IO.File.Exists(newfile) == false) { return(null); } List <string> needfiles = new List <string>(); if (System.IO.File.Exists(oldfile) == false) { using (XmlHolder xml = XmlHolder.LoadXML(newfile)) { Dictionary <string, string> files = new Dictionary <string, string>(); ConvertXMLToList(xml, files); var enu = files.GetEnumerator(); while (enu.MoveNext()) { //老的里面没有 新的里面有的 needfiles.Add(enu.Current.Key); } enu.Dispose(); } return(needfiles.ToArray()); } XmlHolder oldxml = XmlHolder.LoadXML(oldfile); Dictionary <string, string> oldfiles = new Dictionary <string, string>(); ConvertXMLToList(oldxml, oldfiles); XmlHolder newxml = XmlHolder.LoadXML(newfile); Dictionary <string, string> newfiles = new Dictionary <string, string>(); ConvertXMLToList(newxml, newfiles); List <string> deletefiles = new List <string>(); var oldenu = oldfiles.GetEnumerator(); while (oldenu.MoveNext()) { string result; if (newfiles.TryGetValue(oldenu.Current.Key, out result)) { if (result.Equals(oldenu.Current.Value)) { //一样 //int xx = 0; } else { needfiles.Add(oldenu.Current.Key); } newfiles.Remove(oldenu.Current.Key); } else { //老的里面有 新的里面没有 deletefiles.Add(oldenu.Current.Key); } } oldenu.Dispose(); var newenu = newfiles.GetEnumerator(); while (newenu.MoveNext()) { //老的里面没有 新的里面有的 needfiles.Add(newenu.Current.Key); } newenu.Dispose(); return(needfiles.ToArray()); }
void IDockAbleControl.SaveElement(XmlNode node, XmlHolder holder) { throw new NotImplementedException(); }
public void SaveElement(XmlNode node, XmlHolder holder) { }
public void SaveElement(XmlNode node, XmlHolder holder) { throw new NotImplementedException(); }