gpt4 book ai didi

c# - 将 textwriter 分配给 memory writer

转载 作者:行者123 更新时间:2023-11-30 14:15:37 26 4
gpt4 key购买 nike

我正在编写一个 xml 文件,但缺少特定字段的某些值。我检查当对象出现时包含特定值存在的值,但是在编写 xml 之后该值不存在。

这是我使用的代码,我认为 XmlTextWriter 可能是错误的 xml 的原因。

还有另一种方法可以用于它,即 TextWriter 但它无法转换为 memorystream。

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;`

知道我如何知道问题发生的原因和位置。

最佳答案

我认为您将其与内存流过于复杂化了。您可以序列化为 StringWriter(派生自 TextWriter),然后如果要获取 XML 字符串则调用 ToString()。

XmlSerializer xs = new XmlSerializer(typeof(T));
StringWriter sw = new StringWriter();
xs.Serialize(sw, obj);
return sw.ToString();

关于c# - 将 textwriter 分配给 memory writer,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9663509/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com