Esempio n. 1
0
            private void CheckNodeType(string path)
            {
                //<snippet12>
                DataContractSerializer ser = new DataContractSerializer(typeof(Person),
                                                                        "Customer", @"http://www.contoso.com");
                FileStream          fs     = new FileStream(path, FileMode.Open);
                XmlDictionaryReader reader =
                    XmlDictionaryReader.CreateTextReader(fs, new XmlDictionaryReaderQuotas());

                while (reader.Read())
                {
                    switch (reader.NodeType)
                    {
                    case XmlNodeType.Element:
                        if (ser.IsStartObject(reader))
                        {
                            Console.WriteLine("Found the element");
                            Person p = (Person)ser.ReadObject(reader);
                            Console.WriteLine("{0} {1}    id:{2}",
                                              p.Name, p.Address);
                        }
                        Console.WriteLine(reader.Name);
                        break;
                    }
                }
                //</snippet12>
            }
Esempio n. 2
0
        //</snippet5>

        //<snippet6>
        public static void ReadObjectData(string path)
        {
            // Create the reader.
            FileStream          fs     = new FileStream(path, FileMode.Open);
            XmlDictionaryReader reader =
                XmlDictionaryReader.CreateTextReader(fs, new XmlDictionaryReaderQuotas());

            // Create the DataContractSerializer specifying the type,
            // root and namespace to use. The root value corresponds
            // to the DataContract.Name value, and the namespace value
            // corresponds to the DataContract.Namespace value.
            DataContractSerializer ser =
                new DataContractSerializer(typeof(Person),
                                           "Customer", @"http://www.contoso.com");

            // Test if the serializer is on the start of the
            // object data. If so, read the data and write it
            // to the console.
            while (reader.Read())
            {
                if (ser.IsStartObject(reader))
                {
                    Console.WriteLine("Found the element");
                    Person p = (Person)ser.ReadObject(reader);
                    Console.WriteLine("{0} {1}    id:{2}",
                                      p.FirstName, p.LastName, p.ID);
                }

                Console.WriteLine(reader.Name);
                break;
            }
            fs.Flush();
            fs.Close();
        }
Esempio n. 3
0
        public static Iori FromXmlStream(this Iori iori, string rootElement, Stream source)
        {
            var reader     = XmlDictionaryReader.CreateTextReader(source, XmlDictionaryReaderQuotas.Max);
            var serializer = new DataContractSerializer(typeof(Iori));

            reader.ReadStartElement(rootElement);
            while (serializer.IsStartObject(reader))
            {
                iori.FromIori(serializer.ReadObject(reader) as Iori);
            }
            return(iori);
        }
Esempio n. 4
0
        public static Statistics Load()
        {
            Statistics statistics = null;

            try
            {
                // TODO : This is not to be used for this release -- still some pondering to do.
                return(new Statistics());

                DataContractSerializer serializer = new DataContractSerializer(typeof(Statistics), new Type[] { });
                using (FileStream fs = new FileStream(Statistics.Filename, FileMode.Open))
                {
                    using (XmlDictionaryReader reader = XmlDictionaryReader.CreateTextReader(fs, new XmlDictionaryReaderQuotas()))
                    {
                        while (reader.Read())
                        {
                            switch (reader.NodeType)
                            {
                            case XmlNodeType.Element:
                                if (serializer.IsStartObject(reader))
                                {
                                    statistics = (Statistics)serializer.ReadObject(reader);
                                }
                                break;
                            }
                        }
                    }
                }
                //using (StreamWriter swStatistics = new StreamWriter(Statistics.Filename))
                //{
                //    using (XmlTextWriter writer = new XmlTextWriter(swStatistics))
                //    {
                //        writer.Formatting = Formatting.Indented;
                //        serializer.WriteObject(writer, this);
                //        writer.Flush();
                //    }
                //}


                //XmlSerializer mySerializer = new XmlSerializer(typeof(Statistics), new Type[] { });
                //FileStream myFileStream = new FileStream(Statistics.Filename, FileMode.Open);

                //statistics = (Statistics)mySerializer.Deserialize(myFileStream);
            }
            catch
            {
                statistics = new Statistics();
            }

            return(statistics);
        }
Esempio n. 5
0
        private Message deserializeFromFirstXMLelement(ref MemoryStream memStream)
        {
            Message msg = null;

            byte[] bMessage = memStream.ToArray();

            XmlDictionaryReader xmlDictReader = XmlDictionaryReader.CreateTextReader(bMessage, 0, bMessage.Length, new XmlDictionaryReaderQuotas());

            while (xmlDictReader.Read())
            {
                switch (xmlDictReader.NodeType)
                {
                case XmlNodeType.Element:
                    if (serializer.IsStartObject(xmlDictReader))
                    {
                        Console.WriteLine("Found start element");
                        msg = (Message)serializer.ReadObject(xmlDictReader);
                    }
                    Console.WriteLine(xmlDictReader.Name);
                    break;
                }
            }
            return(msg);
        }
Esempio n. 6
0
        public void TestDataContractSerializer()
        {
            var sourceGraph = ModelHelper.GetSourceGraph <EntityProgrammingLanguageFactory>(1);
            var thingGraph  = sourceGraph.Source as IThingGraph;

            var s = new MemoryStream();

            var settings = new XmlWriterSettings();

            settings.OmitXmlDeclaration = true;
            settings.ConformanceLevel   = ConformanceLevel.Fragment;

            var writer =
                //System.Runtime.Serialization.Json.JsonReaderWriterFactory.CreateJsonWriter (s);
                XmlDictionaryWriter.CreateBinaryWriter(s);

            //XmlDictionaryWriter.CreateDictionaryWriter (XmlWriter.Create (s, settings));


            writer.WriteStartElement("root");
            var ser = new DataContractSerializer(factory.Clazz <IThing>(), factory.KnownClasses);

            int thingCount = 0;

            foreach (var thing in thingGraph)
            {
                //ser.WriteStartObject (writer, thing);
                //ser.WriteObjectContent (writer, thing);

                ser.WriteObject(writer, thing);
                thingCount++;
            }



            writer.WriteEndElement();
            writer.Flush();

            s.Position = 0;
            //StreamReader reader = new StreamReader (s);
            //this.ReportDetail(reader.ReadToEnd ());
            this.ReportDetail(string.Format("Stream.Length={0}", s.Length));
            this.ReportDetail(string.Format("Thing.Count={0}", thingCount));

            s.Position = 0;
            thingCount = 0;
            var xreader =
                //System.Runtime.Serialization.Json.JsonReaderWriterFactory.CreateJsonReader (s,XmlDictionaryReaderQuotas.Max);
                XmlDictionaryReader.CreateBinaryReader(s, XmlDictionaryReaderQuotas.Max);

            //XmlDictionaryReader.CreateTextReader(s, XmlDictionaryReaderQuotas.Max);

            xreader.ReadStartElement();

            while (ser.IsStartObject(xreader))
            {
                IThing thing = ser.ReadObject(xreader) as IThing;
                thingCount++;
            }
            this.ReportDetail(string.Format("Thing.Count={0}", thingCount));
        }
Esempio n. 7
0
 public override bool IsStartObject(XmlDictionaryReader reader)
 {
     return(_serializer.IsStartObject(_createReader(reader)));
 }
Esempio n. 8
0
 public override bool IsStartObject(XmlDictionaryReader reader)
 {
     return(dataContractSerializer.IsStartObject(reader));
 }
Esempio n. 9
0
 public override bool IsStartObject(XmlDictionaryReader reader)
 {
     return(_serializer.IsStartObject(new SecurePayXmlDictionaryReader(reader)));
 }