クラスを作成し、それをxmlに変換しています。
問題は、クラス xml 文字列をバイトに変換する
と
、先頭に余分な文字がASCII.GetBytes
あるバイト配列が返されることです。ascArray
それは常にですか?文字なので、xmlは次のように始まります
?<?xml version="1.0" encoding="utf-8"?>
なぜこうなった?
これはコードです:
WorkItem p = new WorkItem();
// Fill the class with whatever need to be sent to client
OneItem posts1 = new OneItem();
posts1.id = "id 1";
posts1.username = "hasse";
posts1.message = "hej again";
posts1.time = "time1";
p.setPost(posts1);
OneItem posts2 = new OneItem();
posts2.id = "id 2";
posts2.username = "bella";
posts2.message = "hej again again";
posts2.time = "time2";
p.setPost(posts2);
// convert the class WorkItem to xml
MemoryStream memoryStream = new MemoryStream();
XmlSerializer xs = new XmlSerializer(typeof(WorkItem));
XmlTextWriter xmlTextWriter = new XmlTextWriter(memoryStream, Encoding.UTF8);
xs.Serialize(xmlTextWriter, p);
// send the xml version of WorkItem to client
byte[] data = memoryStream.ToArray();
clientStream.Write(data, 0, data.Length);
Console.WriteLine(" send.." + data);
clientStream.Close();