2003-04-23 Gonzalo Paniagua Javier <gonzalo@ximian.com>
authorGonzalo Paniagua Javier <gonzalo.mono@gmail.com>
Wed, 23 Apr 2003 09:32:29 +0000 (09:32 -0000)
committerGonzalo Paniagua Javier <gonzalo.mono@gmail.com>
Wed, 23 Apr 2003 09:32:29 +0000 (09:32 -0000)
* XmlReader.cs: reverted last patch. It breaks System.Configuration
because 1. it considers XmlDeclaration as content and 2. always
returns XmlNodeType.None.

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

mcs/class/System.XML/System.Xml/ChangeLog
mcs/class/System.XML/System.Xml/XmlReader.cs

index 2d433609b810b3eec623ddd0e899408169f6b6f8..d2ad8d9e2cf626fd8184038039320c591de2ac17 100644 (file)
@@ -1,3 +1,10 @@
+2003-04-23  Gonzalo Paniagua Javier <gonzalo@ximian.com>
+
+       * XmlReader.cs: reverted last patch. It breaks System.Configuration 
+       because 1. it considers XmlDeclaration as content and 2. always
+       returns XmlNodeType.None.
+       
+
 2003-04-23  Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
 
        * Added missing ChangeLog of 4/4/2003.
index 46e97be596089c2974a2bda1dcd9f41bbbd232cf..d3d7744236f811b998deba688c46be79e19638f8 100644 (file)
@@ -188,22 +188,21 @@ namespace System.Xml
 
                public virtual XmlNodeType MoveToContent ()
                {
-                       bool loop = true;
+                       XmlNodeType nodeType = NodeType;
+                       if (IsEmptyElement)
+                               return nodeType;
+
+                       if (nodeType == XmlNodeType.Attribute) {
+                               MoveToElement ();
+                               return nodeType;
+                       }
+
                        do {
-                               switch (NodeType) {
-                               case XmlNodeType.XmlDeclaration:
-                               case XmlNodeType.DocumentType:
-                               case XmlNodeType.ProcessingInstruction:
-                               case XmlNodeType.Comment:
-                               case XmlNodeType.Whitespace:
-                               case XmlNodeType.SignificantWhitespace:
-                                       Read ();
-                                       break;
-                               default:
-                                       loop = false;
-                                       break;
-                               }
-                       } while (!EOF && loop);
+                               Read ();
+                               nodeType = NodeType;
+                               if (IsContent (nodeType))
+                                       return nodeType;
+                       } while (ReadState != ReadState.EndOfFile);
                        return XmlNodeType.None;
                }