读书人

WCF技术内情 第5章 (2)

发布时间: 2013-01-27 13:56:15 作者: rapoo

WCF技术内幕 第5章 (2)

XMLDictionaryWriter类型

XMLDictionaryWriter类型是用来序列化和编码Message类型的。


创建XmlDictionaryWriter对象

CreateDictionaryWriter

            using (MemoryStream stream = new MemoryStream())            {                using (XmlDictionaryWriter xtw = XmlDictionaryWriter.CreateBinaryWriter(stream))                {                    xtw.WriteStartDocument();                    xtw.WriteStartElement("AndersProfix", "AndersName", "AndersNameSpace");                    xtw.WriteStartElement("AndersProfix", "Person", "AndersNameSpace");                    xtw.WriteAttributeString("Name", "Mike");                    xtw.WriteAttributeString("Year", "3");                    xtw.WriteEndElement();                    xtw.WriteEndElement();                    xtw.WriteEndDocument();                    xtw.Flush();                    Console.WriteLine("XmlDictionaryWriter wrote {0} bytes", stream.Position); //99                    stream.Position = 0;                    Byte[] bytes = stream.ToArray();                    File.WriteAllText(@"c:\file.txt", BitConverter.ToString(bytes));                    //41-0C-41-6E-64-65-72-73-50-72-6F-66-69-78-0A-41-6E-64-65-72-73-4E-61-6D-65-09-0C-41                    //-6E-64-65-72-73-50-72-6F-66-69-78-0F-41-6E-64-65-72-73-4E-61-6D-65-53-70-61-63-65-4                    //1-0C-41-6E-64-65-72-73-50-72-6F-66-69-78-06-50-65-72-73-6F-6E-04-04-4E-61-6D-65-98-                    //04-4D-69-6B-65-04-04-59-65-61-72-98-01-33-01-01                    File.WriteAllText(@"c:\file1.txt", new StreamReader(stream).ReadToEnd());                    //AAndersProfix                    //AndersNameAndersProfixAndersNameSpaceAAndersProfixPersonName?MikeYear?3                }            }



读书人网 >软件开发

热点推荐