你可能不想使用的原因之一用于对象序列化的 StringWriter 是因为它默认不允许您设置它所宣传的编码。这可能会导致在将 XML 文档写入文件时出现问题,因为该文件需要以广告中的但不正确的编码进行编码。
解决此问题问题,您可以使用如下自定义类:
public sealed class StringWriterWithEncoding : StringWriter { public override Encoding Encoding { get; } public StringWriterWithEncoding (Encoding encoding) { Encoding = encoding; } }
该类允许您在创建 StringWriter 时指定编码,确保正确的编码
如果您只需要 UTF-8 编码,则可以使用该类的简化版本:
public sealed class Utf8StringWriter : StringWriter { public override Encoding Encoding => Encoding.UTF8; }
如果您将 XML 插入 SQL Server 2005 数据库时遇到问题,请检查以下内容:
如果您仍然遇到问题,请提供有关您收到的错误消息的更多详细信息。
以上是我应该使用 StringWriter 进行 XML 序列化吗?如果不应该,更好的选择是什么?的详细内容。更多信息请关注PHP中文网其他相关文章!