private XmpNode NewNode(string ns, string name) { Dictionary <string, XmpNode> ns_nodes = null; if (!nodes.ContainsKey(ns)) { ns_nodes = new Dictionary <string, XmpNode>(); nodes.Add(ns, ns_nodes); } else { ns_nodes = nodes[ns]; } if (ns_nodes.ContainsKey(name)) { foreach (XmpNode child_node in NodeTree.Children) { if (child_node.Namespace == ns && child_node.Name == name) { NodeTree.RemoveChild(child_node); break; } } ns_nodes.Remove(name); } XmpNode node = new XmpNode(ns, name); ns_nodes.Add(name, node); NodeTree.AddChild(node); return(node); }
private void RemoveNode(string ns, string name) { if (!nodes.ContainsKey(ns)) { return; } foreach (XmpNode node in NodeTree.Children) { if (node.Namespace == ns && node.Name == name) { NodeTree.RemoveChild(node); break; } } nodes[ns].Remove(name); }