1

これはうまくいけば単純なものでなければなりません。

C#オブジェクトのList<>をXMLドキュメントにシリアル化しています。すべてが順調に進んでいますが、私のXMLドキュメントにはASCIIエンコーディングがあり(たとえば、スペースは次のように表されX0020ます)、クライアントが文句を言っているので、エンコーディングをUTF8に変更したいと思います。

private void SerializeToXML(List<ResponseData> finalXML)
{
    XmlSerializer serializer = new XmlSerializer(typeof(List<ResponseData>));
    TextWriter textWriter = new StreamWriter(txtFileLocation.Text, Encoding.UTF8);
    serializer.Serialize(textWriter, finalXML);
    textWriter.Close();
}

Intellisenseは、これが機能するはずだと言っています...

Intellisense

...でも試してみると文句を言っています...

エラー

私は何が間違っているのですか?

ありがとう

4

2 に答える 2

4

StreamWriterコンストラクターには(文字列、エンコーディング)メソッドシグネチャはありません。

コンストラクターには(Stream、Encoding)署名があります。

于 2012-06-07T19:09:04.807 に答える
1

チャームのように機能するスニペットは次のとおりです。

using (Stream stream = File.Open(SerializeXmlFileName, FileMode.Create))
{
    using (TextWriter writer = new StreamWriter(stream, Encoding.UTF8))
    {
         XmlSerializer xmlFormatter = new XmlSerializer(this.Member.GetType());
         xmlFormatter.Serialize(writer, this.Member);
         writer.Close();
    }

    stream.Close();
}
于 2012-06-07T19:26:15.530 に答える