Exemplo n.º 1
0
 public override void WriteObject(System.Xml.XmlDictionaryWriter writer, object graph)
 {
     if (this.info.IsWrapped)
     {
         this.serializer.Serialize(writer, graph);
     }
     else
     {
         System.IO.MemoryStream       ms       = new System.IO.MemoryStream();
         System.Xml.XmlWriterSettings settings = new System.Xml.XmlWriterSettings();
         settings.OmitXmlDeclaration = true;
         System.Xml.XmlWriter innerWriter = System.Xml.XmlDictionaryWriter.Create(ms, settings);
         this.serializer.Serialize(innerWriter, graph);
         innerWriter.Close();
         ms.Position = 0;
         System.Xml.XmlReader innerReader = System.Xml.XmlDictionaryReader.Create(ms);
         innerReader.Read();
         writer.WriteAttributes(innerReader, false);
         if ((innerReader.IsEmptyElement == false))
         {
             innerReader.Read();
             for (
                 ; ((innerReader.NodeType == System.Xml.XmlNodeType.EndElement)
                    == false);
                 )
             {
                 writer.WriteNode(innerReader, false);
             }
         }
         innerReader.Close();
     }
 }