2 // System.Xml.XmlNamedNodeMap
5 // Jason Diamond (jason@injektilo.org)
6 // Duncan Mak (duncan@ximian.com)
8 // (C) 2002 Jason Diamond http://injektilo.org/
12 using System.Collections;
16 public class XmlNamedNodeMap : IEnumerable
21 internal XmlNamedNodeMap (XmlNode parent)
24 nodeList = new ArrayList ();
27 public virtual int Count {
28 get { return nodeList.Count; }
31 public virtual IEnumerator GetEnumerator ()
33 return nodeList.GetEnumerator ();
36 public virtual XmlNode GetNamedItem (string name)
38 foreach (XmlNode node in nodeList) {
39 if (node.Name == name)
45 public virtual XmlNode GetNamedItem (string localName, string namespaceURI)
47 foreach (XmlNode node in nodeList) {
48 if ((node.Name == localName)
49 && (parent.NamespaceURI == namespaceURI))
56 public virtual XmlNode Item (int index)
58 if (index < 0 || index > nodeList.Count)
61 return (XmlNode) nodeList [index];
64 public virtual XmlNode RemoveNamedItem (string name)
66 XmlNode removed = null;
68 foreach (XmlNode node in nodeList)
69 if (node.Name == name) {
71 nodeList.Remove (node);
77 public virtual XmlNode RemoveNamedItem (string localName, string namespaceURI)
79 XmlNode removed = null;
81 foreach (XmlNode node in nodeList)
82 if ((node.Name == localName)
83 && (parent.NamespaceURI == namespaceURI)) {
85 nodeList.Remove (node);
91 public virtual XmlNode SetNamedItem (XmlNode node)
93 XmlNode replaced = null;
95 foreach (XmlNode x in nodeList)