Exemplo n.º 1
0
        public override void Serialize(XmlTextWriter xml)
        {
            xml.WriteStartElement("array");
            xml.WriteAttributeString("id", ID.ToString());
            xml.WriteAttributeString("type", Type.FullName);

            //int[] dimensions = new int[items.Rank];

            //foreach (ObjectBase element in Items)
            //{
            //    xml.WriteStartElement("element");
            //    element.SerializeReference(xml);
            //    xml.WriteEndElement();
            //}

            Array arr = Items;
            int   rank;

            int[] dimensions;
            int[] lowerBounds;
            int[] upperBounds;
            SetupLoopData(arr, out rank, out dimensions, out lowerBounds, out upperBounds);

            do
            {
                ObjectBase element = (ObjectBase)arr.GetValue(dimensions);

                xml.WriteStartElement("element");
                xml.WriteAttributeString("index", dimensions.ToString());
                element.SerializeReference(xml);
                xml.WriteEndElement();
            } while (IncreaseDimension(dimensions, lowerBounds, upperBounds, rank - 1));

            xml.WriteEndElement();
        }
Exemplo n.º 2
0
 public void Serialize(XmlTextWriter xml)
 {
     xml.WriteStartElement("field");
     xml.WriteAttributeString("name", Name);
     Value.SerializeReference(xml);
     xml.WriteEndElement();
 }
Exemplo n.º 3
0
        public void Serialize(Stream output, object graph)
        {
            BuildSerilizationGraph(graph);
            XmlTextWriter xml = new XmlTextWriter(output, Encoding.Default);

            xml.Formatting  = Formatting.Indented;
            xml.Indentation = 1;
            xml.IndentChar  = '\t';
            xml.WriteStartElement("document");
            xml.WriteStartElement("root-object");
            Root.SerializeReference(xml);
            xml.WriteEndElement();
            xml.WriteStartElement("objects");
            foreach (ObjectBase item in allObjects)
            {
                item.Serialize(xml);
            }
            xml.WriteEndElement();
            xml.WriteEndElement();
            xml.Flush();
        }