【问题标题】:Convert xml document to string with encoding as utf-8将xml文档转换为编码为utf-8的字符串
【发布时间】:2014-06-22 18:43:42
【问题描述】:

我想创建一个 xml 文档并将其保存在字符串对象中。

出于保存和编码目的,我已经在 SO 上引用了这两个问题

我的代码:

StringBuilder builder = new StringBuilder();

XDocument doc = new XDocument(new XElement("BANKID",
       new XElement("ReqID", "WEB"),
       new XElement("ReqHeader", "CASHDEP"),
       new XElement("CurrencyCode", ""),
       new XElement("CurrencyAbbrivation", "")));

using (TextWriter writer = new Utf8StringWriter(builder)) // Error Line
{
doc.Save(writer);
}
builder.ToString();

public class Utf8StringWriter : StringWriter
{
    public override Encoding Encoding { get { return Encoding.UTF8; } }        
}

提示“Utf8StringWriter 不包含带 1 个参数的构造函数”的错误消息

如何修改接受参数为StringBuilder 的类?

【问题讨论】:

标签: c# xml encoding utf-8


【解决方案1】:

您的自定义Utf8StringWriter 类没有接受参数的构造函数,但您正试图向它传递一个值。这就是您收到错误消息的原因。

添加一个接受StringBuilder 的公共构造函数,然后将其传递给基类:

public class Utf8StringWriter : StringWriter
{
    public Utf8StringWriter(StringBuilder stringBuilder)
        :base(stringBuilder)
    {
    }

    public override Encoding Encoding { get { return Encoding.UTF8; } }
}

【讨论】:

    猜你喜欢
    • 2011-12-08
    • 2011-05-20
    • 1970-01-01
    • 2014-02-02
    • 1970-01-01
    • 1970-01-01
    • 2013-07-01
    • 1970-01-01
    相关资源
    最近更新 更多