System.Runtime.Serialization.Formatters.Soap.SoapParser.ParseXml C# (CSharp) Method

ParseXml() private method

private ParseXml ( ) : void
return void
        private void ParseXml()
        {
            InternalST.Soap( this, "ParseXml");     
            while (!bStop && xmlReader.Read())
            {
                if (depth < xmlReader.Depth)
                {
                    soapHandler.StartChildren();
                    depth = xmlReader.Depth;
                }
                else if (depth > xmlReader.Depth)
                {
                    soapHandler.FinishChildren(xmlReader.Prefix, xmlReader.LocalName, xmlReader.NamespaceURI);
                    depth = xmlReader.Depth;
                }

                switch (xmlReader.NodeType)
                {
                    case(XmlNodeType.None):
                        break;
                    case(XmlNodeType.Element):
                        Dump("Node Element", xmlReader);                   
                        soapHandler.StartElement(xmlReader.Prefix, xmlReader.LocalName, xmlReader.NamespaceURI);
                        int attributeCount = xmlReader.AttributeCount;
                        while (xmlReader.MoveToNextAttribute())
                        {
                            soapHandler.Attribute(xmlReader.Prefix, xmlReader.LocalName, xmlReader.NamespaceURI, xmlReader.Value);
                        }
                        xmlReader.MoveToElement();
                        if (xmlReader.IsEmptyElement)
                            soapHandler.EndElement(xmlReader.Prefix, xmlReader.LocalName, xmlReader.NamespaceURI);
                        break;                  
                    case XmlNodeType.EndElement:
                        Dump("Node EndElement", xmlReader);                   
                        soapHandler.EndElement(xmlReader.Prefix, xmlReader.LocalName, xmlReader.NamespaceURI);
                        break;
                    case(XmlNodeType.Text):
                        Dump("Node Text", xmlReader);                   
                        soapHandler.Text(xmlReader.Value);
                        break;                  
                    case(XmlNodeType.SignificantWhitespace):
                        Dump("Node SignificantWhitespace", xmlReader);                   
                        soapHandler.Text(xmlReader.Value);
                        break;                  
                    case(XmlNodeType.Whitespace):
                        Dump("Node Whitespace", xmlReader);                   
                        soapHandler.Text(xmlReader.Value);
                        break;                  
                    case(XmlNodeType.Entity):
                        Dump("Node Entity", xmlReader);                   
                        break;                  
                    case(XmlNodeType.CDATA):
                        Dump("Node CDATA", xmlReader);                   
                        soapHandler.Text(xmlReader.Value);
                        break;                  
                    case(XmlNodeType.Comment):
                        Dump("Node Comment", xmlReader);                   
                        soapHandler.Comment(xmlReader.Value);                        
                        break;                  
                    case(XmlNodeType.EntityReference):
                        Dump("Node EntityReference", xmlReader);                    
                        break;                  
                    case(XmlNodeType.ProcessingInstruction):
                        Dump("Node ProcessingInstruction", xmlReader);                  
                        break;                  
                    case(XmlNodeType.Document):
                        Dump("Node Document", xmlReader);                   
                        break;                  
                    case(XmlNodeType.DocumentType):
                        Dump("Node DocumentType", xmlReader);                   
                        break;                  
                    case(XmlNodeType.DocumentFragment):
                        Dump("Node DocumentFragment", xmlReader);                   
                        break;                  
                    case(XmlNodeType.Notation):
                        Dump("Node Notation", xmlReader);                   
                        break;                  
                    case(XmlNodeType.EndEntity):
                        Dump("Node EndEntity", xmlReader);                  
                        break;                  
                    default:
                        Dump("Node Default", xmlReader);                    
                        break;                  
                }

            }
        }