Пример #1
0
        protected void ConsumeReader(XmlReader reader)
        {
            while (reader.Read())
            {
                string x = reader.Name + reader.NodeType + reader.Value;
                if (reader.NodeType == XmlNodeType.Element)
                {
                    if (reader.HasAttributes)
                    {
                        reader.MoveToFirstAttribute();
                        int index = 0;
                        reader.MoveToAttribute(index);
                        index++;
                        while (reader.MoveToNextAttribute())
                        {
                            string name = reader.Name;
                            string value;

                            value = reader.GetAttribute(index);
                            value = reader.GetAttribute(name);
                            value = reader.GetAttribute(name, null);

                            reader.ReadAttributeValue();
                            reader.MoveToAttribute(index);
                            reader.MoveToAttribute(name, null);
                            index++;
                        }
                    }
                }
                if (reader.NodeType == XmlNodeType.EndElement)
                {
                    reader.Skip();
                }
            }
        }
Пример #2
0
 private void ReadElementFrom(XmlReader r, LoadOptions o)
 {
     if (r.ReadState != ReadState.Interactive) throw new InvalidOperationException(SR.InvalidOperation_ExpectedInteractive);
     name = XNamespace.Get(r.NamespaceURI).GetName(r.LocalName);
     if ((o & LoadOptions.SetBaseUri) != 0)
     {
         string baseUri = r.BaseURI;
         if (!string.IsNullOrEmpty(baseUri))
         {
             SetBaseUri(baseUri);
         }
     }
     IXmlLineInfo li = null;
     if ((o & LoadOptions.SetLineInfo) != 0)
     {
         li = r as IXmlLineInfo;
         if (li != null && li.HasLineInfo())
         {
             SetLineInfo(li.LineNumber, li.LinePosition);
         }
     }
     if (r.MoveToFirstAttribute())
     {
         do
         {
             XAttribute a = new XAttribute(XNamespace.Get(r.Prefix.Length == 0 ? string.Empty : r.NamespaceURI).GetName(r.LocalName), r.Value);
             if (li != null && li.HasLineInfo())
             {
                 a.SetLineInfo(li.LineNumber, li.LinePosition);
             }
             AppendAttributeSkipNotify(a);
         } while (r.MoveToNextAttribute());
         r.MoveToElement();
     }
     if (!r.IsEmptyElement)
     {
         r.Read();
         ReadContentFrom(r, o);
     }
     r.Read();
 }