dotgnu-pnet-commits
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Dotgnu-pnet-commits] CVS: pnetlib/System.Xml XmlDocument.cs,1.10,1.11


From: adam ballai <address@hidden>
Subject: [Dotgnu-pnet-commits] CVS: pnetlib/System.Xml XmlDocument.cs,1.10,1.11 XmlTextReader.cs,1.31,1.32
Date: Mon, 27 Jan 2003 00:55:49 -0500

Update of /cvsroot/dotgnu-pnet/pnetlib/System.Xml
In directory subversions:/tmp/cvs-serv19735/System.Xml

Modified Files:
        XmlDocument.cs XmlTextReader.cs 
Log Message:


Index: XmlDocument.cs
===================================================================
RCS file: /cvsroot/dotgnu-pnet/pnetlib/System.Xml/XmlDocument.cs,v
retrieving revision 1.10
retrieving revision 1.11
diff -C2 -r1.10 -r1.11
*** XmlDocument.cs      10 Jan 2003 23:33:31 -0000      1.10
--- XmlDocument.cs      27 Jan 2003 05:55:45 -0000      1.11
***************
*** 628,635 ****
                                // TODO
                        }
-       [TODO]
        public virtual void Load(String filename)
                        {
!                               // TODO
                        }
        [TODO]
--- 628,634 ----
                                // TODO
                        }
        public virtual void Load(String filename)
                        {
!                               Load(new XmlTextReader(filename));
                        }
        [TODO]
***************
*** 638,645 ****
                                // TODO
                        }
-       [TODO]
        public virtual void Load(XmlReader reader)
                        {
!                               // TODO
                        }
  
--- 637,648 ----
                                // TODO
                        }
        public virtual void Load(XmlReader reader)
                        {
!                               RemoveAll();
!                               XmlNode node;
!                               while((node = ReadNode(reader)) != null)
!                               {
!                                       AppendChild(node);
!                               }
                        }
  
***************
*** 693,701 ****
  
        // Read a node into this document.
-       [TODO]
        public virtual XmlNode ReadNode(XmlReader reader)
                        {
!                               // TODO
!                               return null;
                        }
  
--- 696,805 ----
  
        // Read a node into this document.
        public virtual XmlNode ReadNode(XmlReader reader)
                        {
!                               XmlNode currentNode = null,
!                                       newNode = null,
!                                       resultNode = null;
!                               
!                               int startDepth = reader.Depth;
!                               
!                               while(reader.Read())
!                               {
!                                       switch(reader.NodeType)
!                                       {
!                                               case XmlNodeType.Element:
!                                                       XmlElement 
newElementNode = CreateElement(reader.Prefix, 
!                                                                               
reader.LocalName,
!                                                                               
reader.NamespaceURI);
!                                                       if(startDepth == 0)
!                                                       {
!                                                               // set as root 
node
!                                                       }
! 
!                                                       if(reader.HasAttributes)
!                                                       {
!                                                               
while(reader.MoveToNextAttribute())
!                                                               {
!                                                                       
XmlAttribute newAttributeNode = CreateAttribute(reader.Name);
!                                                                       
if(reader.ReadAttributeValue())
!                                                                       {
!                                                                               
newAttributeNode.Value = reader.Value;
!                                                                       }
!                                                                               
!                                                                       
newElementNode.SetAttributeNode(newAttributeNode);
!                                                               }
!                                                       }
! 
!                                                       if(currentNode != null)
!                                                       {
!                                                               // append child
!                                                               
currentNode.AppendChild(newElementNode);
!                                                       }
!                                                       else
!                                                       {
!                                                               currentNode = 
newElementNode;
!                                                       }
!                                                       // update result
!                                                       resultNode = 
currentNode;
!                                                       // move child to 
currentNode
!                                                       currentNode = 
newElementNode;
!                                                       break;
!                                               case XmlNodeType.Attribute:
!                                                       XmlAttribute 
newAttributeNode = CreateAttribute(reader.Name);
!                                                                               
 
!                                                       
!                                                       
if(reader.ReadAttributeValue())
!                                                       {
!                                                               
newAttributeNode.Value = reader.Value;
!                                                       }
!                                                               
!                                                       
currentNode.AppendChild(newAttributeNode);
!                                                       break;
!                                               case XmlNodeType.CDATA:
!                                                       XmlCDataSection 
newCDATANode = CreateCDataSection(reader.Value);
!                                                       
currentNode.AppendChild(newCDATANode);
!                                                       break;
!                                               case XmlNodeType.Comment:
!                                                       // TODO: Comment
!                                                       // Append Comments to 
parent Node
!                                                       break;
!                                               case XmlNodeType.EndElement:
!                                                       if(currentNode.Name != 
reader.Name)
!                                                       {
!                                                               throw new 
XmlException
!                                                                       
(S._("XmlException_WrongParent"));
!                                                       }
!                                                       
if(currentNode.ParentNode != null)
!                                                               currentNode = 
currentNode.ParentNode;
!                                                       break;
!                                               case XmlNodeType.EndEntity:
!                                                       // TODO: EndEntity
!                                                       break;
!                                               case 
XmlNodeType.ProcessingInstruction:
!                                                       // TODO: 
ProcessingInstruction
!                                                       break;
!                                               case XmlNodeType.Text:
!                                                       XmlText newTextNode = 
CreateTextNode(reader.Value);
!                                                       
currentNode.AppendChild(newTextNode);
!                                                       break;
!                                               case XmlNodeType.XmlDeclaration:
!                                                       // TODO: XmlDeclaration
!                                                       break;
!                                               case XmlNodeType.DocumentType:
!                                                       // TODO: DocumentType
!                                                       break;
!                                               case 
XmlNodeType.SignificantWhitespace:
!                                                       // TODO: 
SignificantWhitespace
!                                                       break;
!                                               case XmlNodeType.Whitespace:
!                                                       XmlWhitespace 
newWhitespaceNode = CreateWhitespace(reader.Value);
!                                                       
currentNode.AppendChild(newWhitespaceNode);
!                                                       // TODO: Append 
Whitespace to parent node
!                                                       break;
!                                       }
!                                       
!                               }
!                                       
!                               return currentNode;
                        }
  

Index: XmlTextReader.cs
===================================================================
RCS file: /cvsroot/dotgnu-pnet/pnetlib/System.Xml/XmlTextReader.cs,v
retrieving revision 1.31
retrieving revision 1.32
diff -C2 -r1.31 -r1.32
*** XmlTextReader.cs    26 Jan 2003 22:44:08 -0000      1.31
--- XmlTextReader.cs    27 Jan 2003 05:55:45 -0000      1.32
***************
*** 648,683 ****
                                                }
                                                ClearNodeInfo();
!                                               ch = ReadChar();
!                                               if((char)ch != '>')
!                                               {
!                                                       // get Processing 
Target 
!                                                       AnalyzeChar(ch, true);
!                                               }
!                                               else
!                                               {
!                                                       // end processing
!                                                       break;
!                                               }
!                                               
!                                               if(name != "xml")
!                                               {
!                                                       nodeType = 
XmlNodeType.ProcessingInstruction;
!                                               }
!                                               else
                                                {
!                                                       nodeType = 
XmlNodeType.XmlDeclaration;
!                                                       while((ch = ReadChar()) 
!= -1)
                                                        {
!                                                               if((char)ch == 
'?' && (char)reader.Peek() == '>')
                                                                {
!                                                                       
ReadChar();
!                                                                       break;
                                                                }
                                                        }
-                                                       break;
                                                }
                                                
-                                               // clear buffer 
-                                               builder = new StringBuilder();
                                                
                                                while((ch = ReadChar()) != -1)
--- 648,669 ----
                                                }
                                                ClearNodeInfo();
!                                               builder = new StringBuilder();
!                                               while((ch = ReadChar()) != -1)
                                                {
!                                                       
builder.Append((char)ch);
!                                                       if((char)ch == '?' && 
(char)reader.Peek() == '>' || Char.IsWhiteSpace((char)ch))
                                                        {
!                                                               
if(builder.ToString(0, builder.Length -1) == "xml")
                                                                {
!                                                                       
nodeType = XmlNodeType.XmlDeclaration;
!                                                               }
!                                                               else
!                                                               {
!                                                                       
nodeType = XmlNodeType.ProcessingInstruction;
                                                                }
+                                                               break;
                                                        }
                                                }
                                                
                                                
                                                while((ch = ReadChar()) != -1)
***************
*** 1104,1113 ****
                                }
                                
!                               
!                               
!                               if(nodeType != XmlNodeType.Attribute)
!                                       return false;           
! 
!                               Read();
                                return true;    
                        }
--- 1090,1094 ----
                                }
                                
!                               value = attributes[attributeIndex].Value;
                                return true;    
                        }





reply via email to

[Prev in Thread] Current Thread [Next in Thread]