public void Visit(FolderCompareObject folder, string[] currentPath) { XmlDocument xmlDoc = new XmlDocument(); for (int i = 0; i < currentPath.Length; i++) { if (currentPath[i].Contains(META_DIR)) continue; string xmlPath = Path.Combine(currentPath[i], METADATAPATH); if (!File.Exists(xmlPath)) continue; xmlDoc.Load(xmlPath); PopulateFolderWithTodo(xmlDoc, folder, i); xmlDoc.Save(xmlPath); } }
private FolderCompareObject PopulateFolderWithTodo(XmlDocument xmlDoc, FolderCompareObject folder, int counter) { XmlNode node = xmlDoc.SelectSingleNode(XPATH_EXPR + "/todo" + "[name='" + folder.Name + "']"); if (node == null) return folder; XmlNodeList childNodeList = node.ChildNodes; for (int i = 0; i < childNodeList.Count; i++) { XmlNode childNode = childNodeList[i]; if (childNode.Name.Equals(NODE_CHANGE_TYPE)) { if (node.InnerText.Equals(DELETE)) folder.ToDoAction = ToDo.Delete; else if (node.InnerText.Equals(RENAME)) folder.ToDoAction = ToDo.Rename; } } return folder; }