Beispiel #1
0
        public static T DeserializeFromXmlStream <T>(Stream xml) where T : class
        {
            var    xs  = new XmlSerializerContract().GetSerializer(typeof(T));
            object obj = xs.Deserialize(xml);

            return(obj as T);
        }
Beispiel #2
0
Datei: test.cs Projekt: mono/gert
	static void Main ()
	{
		A a = new A ();
		a.b = new B ();
		a.b.c = new C ();
		a.b.c.d = 5;
		a.b.c.e = "whatever";

		MemoryStream ms = new MemoryStream ();

		StreamWriter sw = new StreamWriter (ms, Encoding.UTF8);

		XmlSerializerContract contract = new XmlSerializerContract ();
		XmlSerializer xs = contract.GetSerializer (typeof (A));
		xs.Serialize (sw, a);

		ms.Position = 0;

		using (StreamReader sr = new StreamReader (ms, Encoding.UTF8, true)) {
			A ades = (A) xs.Deserialize (sr);
			Assert.IsNotNull (ades, "#1");
			Assert.IsNotNull (ades.b, "#2");
			Assert.IsNotNull (ades.b.c, "#3");
			Assert.AreEqual (5, ades.b.c.d, "#4");
			Assert.AreEqual ("whatever", ades.b.c.e, "#5");
		}
	}
Beispiel #3
0
        public static MemoryStream SerializeToXmlStream <T>(T obj, XmlSerializerNamespaces xmlns)
        {
            var ms = new MemoryStream(4 * 1024);
            var xs = new XmlSerializerContract().GetSerializer(typeof(T));

            using (var xml = new XmlTextWriter(ms, new UTF8Encoding(false))) {
                xs.Serialize(xml, obj, xmlns);
                ms.Seek(0, SeekOrigin.Begin);
            }

            return(ms);
        }