Beispiel #1
0
        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
 }