Esempio n. 1
0
 private static IXmlConsumer HandleStartElement(XmlReader reader, IXmlConsumer consumer)
 {
     if (reader.IsEmptyElement)
     {
         IXmlConsumer tempConsumer = consumer.HandleStartElement(reader);
         if (tempConsumer == null)
             return null;
         tempConsumer.HandleStartElement(reader);
         tempConsumer.HandleEndElement(reader);
         return consumer;
     }
     return consumer.HandleStartElement(reader);
 }
Esempio n. 2
0
        private static IXmlConsumer HandleXmlElement(XmlReader reader, IXmlConsumer consumer)
        {
            var newConsumer = HandleStartElement(reader, consumer);
            if (newConsumer != null)
            {
                return newConsumer;
            }

            // skip over non-understood sub tree
            XmlReader subReader = reader.ReadSubtree();
            while (!subReader.EOF)
                subReader.Read();
            
            return consumer;
        }