public static void TestUnzippedStream(int len, XmlArrayEncoding encoding) { DateTime t1, t2; TimeSpan dt; Foo o = new Foo(); o.Fill(len); System.IO.FileStream outfile = System.IO.File.Create(@"C:\temp\xmlteststream01.xml"); XmlStreamSerializationInfo info = new XmlStreamSerializationInfo(); info.DefaultArrayEncoding = encoding; t1 = DateTime.Now; info.BeginWriting(outfile); info.AddValue("FooNode", o); info.EndWriting(); outfile.Close(); t2 = DateTime.Now; dt = t2 - t1; Console.WriteLine("Document saved, duration {0}.", dt); t1 = DateTime.Now; System.IO.FileStream inpstream = System.IO.File.Open(@"C:\temp\xmlteststream01.xml", System.IO.FileMode.Open); XmlStreamDeserializationInfo info3 = new XmlStreamDeserializationInfo(); info3.BeginReading(inpstream); Foo o3 = (Foo)info3.GetValue(null); info3.EndReading(); t2 = DateTime.Now; dt = t2 - t1; Console.WriteLine("Document restored, duration {0}.", dt); NUnit.Framework.Assertion.Assert(o3.EnsureEquality(len)); }
public static void TestUnzippedStream(int len, XmlArrayEncoding encoding) { DateTime t1, t2; TimeSpan dt; Foo o = new Foo(); o.Fill(len); System.IO.FileStream outfile = System.IO.File.Create(@"C:\temp\xmlteststream01.xml"); XmlStreamSerializationInfo info = new XmlStreamSerializationInfo(); info.DefaultArrayEncoding = encoding; t1 = DateTime.Now; info.BeginWriting(outfile); info.AddValue("FooNode",o); info.EndWriting(); outfile.Close(); t2 = DateTime.Now; dt = t2-t1; Console.WriteLine("Document saved, duration {0}.",dt); t1 = DateTime.Now; System.IO.FileStream inpstream = System.IO.File.Open(@"C:\temp\xmlteststream01.xml",System.IO.FileMode.Open); XmlStreamDeserializationInfo info3 = new XmlStreamDeserializationInfo(); info3.BeginReading(inpstream); Foo o3 = (Foo)info3.GetValue(null); info3.EndReading(); t2 = DateTime.Now; dt = t2-t1; Console.WriteLine("Document restored, duration {0}.",dt); NUnit.Framework.Assertion.Assert(o3.EnsureEquality(len)); }
public void AddArrayOfPrimitiveType(string name, System.Array val, int count, int sizeofelement, XmlArrayEncoding encoding) { switch (encoding) { case XmlArrayEncoding.Base64: { m_Writer.WriteAttributeString("Encoding", "Base64"); m_Writer.WriteStartElement("Base64"); int remainingBytes = count * sizeofelement; for (int pos = 0; pos < remainingBytes;) { int bytesToWrite = Math.Min(m_BufferSize, remainingBytes - pos); System.Buffer.BlockCopy(val, pos, m_Buffer, 0, bytesToWrite); m_Writer.WriteBase64(m_Buffer, 0, bytesToWrite); pos += bytesToWrite; } m_Writer.WriteEndElement(); } break; case XmlArrayEncoding.BinHex: { m_Writer.WriteAttributeString("Encoding", "BinHex"); m_Writer.WriteStartElement("BinHex"); int remainingBytes = count * sizeofelement; for (int pos = 0; pos < remainingBytes;) { int bytesToWrite = Math.Min(m_BufferSize, remainingBytes - pos); System.Buffer.BlockCopy(val, pos, m_Buffer, 0, bytesToWrite); m_Writer.WriteBinHex(m_Buffer, 0, bytesToWrite); pos += bytesToWrite; } m_Writer.WriteEndElement(); } break; case XmlArrayEncoding.Xml: throw new ArgumentException("This function must not be called with encoding=" + encoding.ToString()); default: throw new ApplicationException("Unknown encoding value: " + encoding.ToString()); } // end switch }
public void AddArrayOfPrimitiveType(string name, System.Array val, int count, int sizeofelement, XmlArrayEncoding encoding) { switch(encoding) { case XmlArrayEncoding.Base64: { m_Writer.WriteAttributeString("Encoding","Base64"); m_Writer.WriteStartElement("Base64"); int remainingBytes = count * sizeofelement; for(int pos=0;pos<remainingBytes;) { int bytesToWrite = Math.Min(m_BufferSize,remainingBytes-pos); System.Buffer.BlockCopy(val,pos,m_Buffer,0,bytesToWrite); m_Writer.WriteBase64(m_Buffer,0,bytesToWrite); pos+=bytesToWrite; } m_Writer.WriteEndElement(); } break; case XmlArrayEncoding.BinHex: { m_Writer.WriteAttributeString("Encoding","BinHex"); m_Writer.WriteStartElement("BinHex"); int remainingBytes = count * sizeofelement; for(int pos=0;pos<remainingBytes;) { int bytesToWrite = Math.Min(m_BufferSize,remainingBytes-pos); System.Buffer.BlockCopy(val,pos,m_Buffer,0,bytesToWrite); m_Writer.WriteBinHex(m_Buffer,0,bytesToWrite); pos+=bytesToWrite; } m_Writer.WriteEndElement(); } break; case XmlArrayEncoding.Xml: throw new ArgumentException("This function must not be called with encoding=" + encoding.ToString()); default: throw new ApplicationException("Unknown encoding value: " + encoding.ToString()); } // end switch }