private static List <SelectionItem> GetSelectionItems(List <XmlNode> originalNodes, List <XmlNode> nodes, List <string> breadcrumbs) { var changeIds = GetChangedIds(originalNodes, nodes); var selectionItems = new List <SelectionItem>(); if (originalNodes.Count != 0) { var originalNode = originalNodes[originalNodes.Count - 1]; selectionItems.Add(new SelectionItem() { Name = "Original", Description = XmlTools.GetOuterXml(originalNode), Value = originalNode }); } foreach (List <int> l in changeIds) { var item = new SelectionItem() { Name = breadcrumbs[l[0]], Description = XmlTools.GetOuterXml(nodes[l[0]]), Value = nodes[l[0]] }; for (var i = 1; i < l.Count; i++) { item.Name += "\n" + breadcrumbs[l[i]]; } selectionItems.Add(item); } return(selectionItems); }
public static void Combine(XmlDocument result, List <XmlDocument> originalDocs, List <XmlDocument> docs, List <string> breadcrumbs) { notifyCollissions = false; var docElems = new List <XmlNode>(docs.Count); var originalDocElems = new List <XmlNode>(originalDocs.Count); foreach (XmlDocument file in docs) { docElems.Add(file.DocumentElement); } foreach (XmlDocument file in originalDocs) { originalDocElems.Add(file.DocumentElement); } RecursiveCombine(result.DocumentElement, originalDocElems, docElems, breadcrumbs); System.Diagnostics.Debug.WriteLine(XmlTools.GetOuterXml(result.DocumentElement)); }