System.Xml.XmlReader.MoveToNextAttribute C# (CSharp) Method

MoveToNextAttribute() public abstract method

public abstract MoveToNextAttribute ( ) : bool
return bool
        public abstract bool MoveToNextAttribute();

Usage Example

Example #1
0
        /// <summary>
        /// reads the xml file using elment based approach
        /// </summary>
        /// <param name="element">element to be read</param>
        private void ReadElement(Element element)
        {
            //-----read all attributes
            if (_reader.HasAttributes)
            {
                //-----add all the attributes
                while (_reader.MoveToNextAttribute())
                {
                    if (!element.Attributes.ContainsKey(_reader.Name))
                    {
                        element.Attributes.Add(_reader.Name, _reader.Value);
                    }
                }
                //-----invoke attribute callback
                if (OnAttributesRead != null)
                {
                    OnAttributesRead.Invoke(element);
                }

                _reader.MoveToElement();
            }
            //-----read elements content
            if (!_reader.IsEmptyElement)
            {
                int depth = _reader.Depth;
                while (_reader.Read())
                {
                    //-----read child elements
                    if (_reader.NodeType == XmlNodeType.Element)
                    {
                        Element subElement = new Element()
                        {
                            Parent = element, Name = _reader.Name
                        };
                        ReadElement(subElement);
                    }
                    //-----read text content
                    else if (_reader.NodeType == XmlNodeType.Text)
                    {
                        element.Value = _reader.Value;
                    }
                    //-----end element reached, so break if its the current one
                    else if (_reader.NodeType == XmlNodeType.EndElement)
                    {
                        if (_reader.Depth == depth)
                        {
                            if (OnElementRead != null)
                            {
                                OnElementRead.Invoke(element);
                            }
                            break;
                        }
                    }
                }
            }
            else if (OnElementRead != null)
            {
                OnElementRead.Invoke(element);
            }
        }
All Usage Examples Of System.Xml.XmlReader::MoveToNextAttribute