private static void WritePackageItem(XmlTextWriter output, PackageAnalyzer.PackageItem packageItem, string action) { output.WriteStartElement("item"); output.WriteAttributeString("id", packageItem.ID.ToString()); output.WriteAttributeString("databasename", packageItem.DatabaseName); output.WriteAttributeString("name", packageItem.ItemName); output.WriteAttributeString("language", packageItem.Language.ToString()); output.WriteAttributeString("version", packageItem.Version.ToString()); output.WriteAttributeString("path", packageItem.Path); output.WriteAttributeString("action", action); output.WriteEndElement(); }
private void AddNewItem(Dictionary <string, PackageAnalyzer.PackageItem> paths, PackageAnalyzer.PackageItem packageItem) { var path = packageItem.Path + "/" + packageItem.ItemName; if (paths.Keys.Any(p => path.StartsWith(p, StringComparison.InvariantCultureIgnoreCase))) { return; } var descendants = paths.Keys.Where(p => p.StartsWith(path, StringComparison.InvariantCultureIgnoreCase)).ToList(); foreach (var key in descendants) { paths.Remove(key); } paths[path] = packageItem; }