【发布时间】:2020-07-13 16:33:19
【问题描述】:
我正在尝试通过xmlSerializer 发送list<clase_A>,从一个接口到统一。
这是我的服务器代码:
using (connectedTcpClient = tcpListener.AcceptTcpClient())
{
using (NetworkStream stream = connectedTcpClient.GetStream())
{
int length;
XmlSerializer xmls = new XmlSerializer(typeof(List<Clase_comando>));
while ((stream.CanRead && (length = stream.Read(bytes, 0, bytes.Length)) != 0))
{
List<Clase_comando> com = null;
var b = new byte[10000];
com = (List<Clase_comando>)xmls.Deserialize(stream);
//Here i get the problem
}
}
}
这是 Visual Studio 的代码:
NetworkStream stream = socketConnection.GetStream();
StreamWriter sw = new StreamWriter(stream);
sw.AutoFlush = true;
XmlSerializer xmls = new XmlSerializer(typeof(List<Clase_A>));
if (stream.CanWrite){
z = My list
byte[] b = new byte[10000];
Stream st = new MemoryStream(b);
xmls.Serialize(st, z);
stream.Write(b, 0, b.Length);
stream.Dispose();
}
问题是当我统一接收接口数据时,它会抛出这个异常:
XmlException: Root element is missing. System.Xml.XmlTextReaderImpl.Throw (System.Exception e) (at <7fd195060d8c41448694ab221d3b56ca>:0) System.Xml.XmlTextReaderImpl.ThrowWithoutLineInfo (System.String res) (at <7fd195060d8c41448694ab221d3b56ca>:0)
【问题讨论】:
标签: c# unity3d xmlserializer