我写一个xml
文件,但我缺少一些特定字段的值。我检查了当对象包含特定值存在的值时,但是在写入xml
之后,该值不存在。
这是我使用的代码,我认为XmlTextWriter
可能是错误的xml
的原因。
还有另一种方法可以用于它,即TextWriter
,但它无法转换为内存流。
string xmlString = null;
MemoryStream memoryStream = new MemoryStream();
XmlSerializer xs = new XmlSerializer(typeof(T));
// XmlTextWriter xmlTextWriter = new XmlTextWriter(memoryStream, Encoding.ASCII);
TextWriter xmlTextWriter=new StreamWriter(memoryStream,Encoding.ASCII);
xs.Serialize(xmlTextWriter, obj);
memoryStream =(MemoryStream)xmlTextWriter.
//(MemoryStream)xmlTextWriter.BaseStream;
xmlString = ASCIIByteArrayToString(memoryStream.ToArray());
return `xmlString;`
任何想法我怎么能知道为什么和哪里的问题发生。
2条答案
按热度按时间z2acfund1#
我觉得你用记忆流把它复杂化了。如果要获取XML字符串,可以序列化为StringWriter(从TextWriter派生),然后调用ToString()。
5lhxktic2#
尝试通过将IDisposable资源 Package 在using语句中来正确处理它们: