【发布时间】:2019-01-04 11:04:40
【问题描述】:
大家新年快乐, 在我使用 StringWriter 序列化对象并返回输出响应并发送给客户端之后。但是当客户端收到响应时: 它有一个这样的标签:
<string xmlns="http://schemas.microsoft.com/...">
<?xml version="1.0" encoding="utf-16">
<trx>.....</trx>
</string>
所以,我的问题是: 1.我应该如何返回正确格式的xml,如下所示:
<?xml version="1.0" encoding="utf-16">
<trx>.....</trx>
2。如果我使用 MemoryStream 将响应作为 byte[] 发送,客户端是否使用 encoding="utf-8" 正确接收?
非常感谢! 这是我用于序列化的代码路径:
StringWriter textWriter = new StringWriter();
XmlWriter tw = null;
XmlWriterSettings settings new XmlWriterSettings{
Encoding =UnicodeEncoding.UTF8,
Indent =false,
OmitXmlDeclaration =false
};
var serialize1 =new XmlSerializer(typeof(OTrx));
XmlSerializerNamespaces ns = new XmlSerializerNamespaces();
ns.Add("","");
tw=XmlWriter.Create(textWriter,settings);
serializer1.Serialize(tw,oTrx,ns);
var output=textWriter.ToString();
return output
【问题讨论】:
-
您能否提供一个代码 sn-p 显示您如何进行序列化。您只需声明“使用 StringWriter”。此外,关于 #2,这取决于您如何创建响应,因此还需要一个代码 sn-p 来提供帮助。
标签: c# .net xml serialization