コード例 #1
0
        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();
        }
コード例 #2
0
        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;
        }