2006-01-28 Atsushi Enomoto <atsushi@ximian.com>
authorAtsushi Eno <atsushieno@gmail.com>
Sat, 28 Jan 2006 07:53:16 +0000 (07:53 -0000)
committerAtsushi Eno <atsushieno@gmail.com>
Sat, 28 Jan 2006 07:53:16 +0000 (07:53 -0000)
* XmlNode.cs, XmlIteratorNodeList.cs :
  Now we can enable XmlIteratorNodeList again (mcs, incorrectly
  removing nodes in the node list, was fixed).

svn path=/trunk/mcs/; revision=56200

mcs/class/System.XML/System.Xml/ChangeLog
mcs/class/System.XML/System.Xml/XmlIteratorNodeList.cs
mcs/class/System.XML/System.Xml/XmlNode.cs

index 34915f46801f0ea1856739e642dedba0cf41a097..e5b0f6eb11272cba47f90e4be3cd82ce758b403d 100644 (file)
@@ -1,3 +1,9 @@
+2006-01-28  Atsushi Enomoto <atsushi@ximian.com>
+
+       * XmlNode.cs, XmlIteratorNodeList.cs :
+         Now we can enable XmlIteratorNodeList again (mcs, incorrectly
+         removing nodes in the node list, was fixed).
+
 2006-01-28  Atsushi Enomoto <atsushi@ximian.com>
 
        * XmlDocument.cs : in ReadNode() to consume element node, switched
index f5bfdb1a844a05ef0dbe2c892e022df9181214e6..e0076d8c7800ed3caf7cb95f89d899f5c503f40a 100644 (file)
@@ -88,8 +88,8 @@ namespace System.Xml
 */
                                // anyways such code that uses
                                // XmlNodeList.Count already gives up 
-                               // performance, and the effort above makes
-                               // little difference.
+                               // performance. Also, storing things in the
+                               // list causes extra memory consumption.
                                return iterator.Count;
                        }
                }
index eb58587dadb22ca55678e3d33fd7caf694a3fff3..bebf9b40fe046524758e9ec674931aaaa6a3a99f 100644 (file)
@@ -810,13 +810,15 @@ namespace System.Xml
                        if (nsmgr != null)
                                expr.SetContext (nsmgr);
                        XPathNodeIterator iter = nav.Select (expr);
+                       /*
                        ArrayList rgNodes = new ArrayList ();
                        while (iter.MoveNext ())
                        {
                                rgNodes.Add (((IHasXmlNode) iter.Current).GetNode ());
                        }
                        return new XmlNodeArrayList (rgNodes);
-                       //return new XmlIteratorNodeList (iter);
+                       */
+                       return new XmlIteratorNodeList (iter);
                }
 
                public XmlNode SelectSingleNode (string xpath)