C# と VB.NET の質問掲示板

ASP.NET、C++/CLI、Java 何でもどうぞ

ログ内検索
  • キーワードを複数指定する場合は 半角スペース で区切ってください。
  • 検索条件は、(AND)=[A かつ B] (OR)=[A または B] となっています。
  • [返信]をクリックすると返信ページへ移動します。
キーワード/ 検索条件 /
検索範囲/ 強調表示/ ON (自動リンクOFF)
結果表示件数/ 記事No検索/ ON
大文字と小文字を区別する

No.2119 の関連記事表示

<< 0 >>
■2119  XmlSerializerにおけるencoding情報の登録
□投稿者/ M.K -(2007/03/19(Mon) 16:52:08)

    分類:[C# (Windows)] 

    何時もお世話になっております、M.Kと申します。

    開発環境は WinXP SP2 + VS2005 + C# です。


    とあるクラスの配列をXmlSerializerを使ってシリアライズしているのですが、
    出力されたXMLファイルの先頭部分が以下の様になっています。

    <?xml version="1.0"?>

    これを

    <?xml version="1.0" encoding="UTF-8"?>

    などの様にencodingの情報をシリアライズと同時に埋め込みたいのですが、
    この様な事はできるのか、またどの様に記述すれば良いのかを教えて頂け
    ないでしょうか?

    以上 宜しくお願いします。
親記事 /過去ログ10より / 関連記事表示
削除チェック/

■2120  Re[1]: XmlSerializerにおけるencodi
□投稿者/ HIRO -(2007/03/19(Mon) 17:17:42)
>
    2007/03/19(Mon) 17:18:45 編集(投稿者)

    No2119 (M.K さん) に返信
    > 何時もお世話になっております、M.Kと申します。
    >
    > 開発環境は WinXP SP2 + VS2005 + C# です。
    >
    >
    > とあるクラスの配列をXmlSerializerを使ってシリアライズしているのですが、
    > 出力されたXMLファイルの先頭部分が以下の様になっています。
    >
    > <?xml version="1.0"?>
    >
    > これを
    >
    > <?xml version="1.0" encoding="UTF-8"?>
    >
    > などの様にencodingの情報をシリアライズと同時に埋め込みたいのですが、
    > この様な事はできるのか、またどの様に記述すれば良いのかを教えて頂け
    > ないでしょうか?
    >
    > 以上 宜しくお願いします。

     シリアライズするときにXmlWriterを使用する。XmlWriterを作成するときに、
    XmlWriterSettingsを作成しEncodingを指定すればよいのではないでしょうか?
記事No.2119 のレス /過去ログ10より / 関連記事表示
削除チェック/

■2121  Re[2]: XmlSerializerにおけるencodi
□投稿者/ M.K -(2007/03/19(Mon) 17:58:21)
    No2120 (HIRO さん) に返信
    
    >  シリアライズするときにXmlWriterを使用する。XmlWriterを作成するときに、
    > XmlWriterSettingsを作成しEncodingを指定すればよいのではないでしょうか?
    
    HIROさん、お返事ありがとうございます。
    
    XmlWriterクラスを使用する事でEncodingを指定してXMLファイルを作成できる事は
    ヘルプで読み解けたのですが、クラスの配列をシリアライズする事とXmlWriterを
    結ぶものがわかりません。
    
    もし良ければ具体的なコードも記述して頂けないでしょうか?
    
    なお、私の方で記述しているシリアライズのコードは以下の通りです。
    
      XmlSerializer serializer = new XmlSerializer(typeof(Pattern[]));
      using (FileStream stream = new FileStream(FileName, FileMode.Create))
      {
          serializer.Serialize(stream, wrkPattern);
      }
    
記事No.2119 のレス /過去ログ10より / 関連記事表示
削除チェック/

■2124  Re[3]: XmlSerializerにおけるencodi
□投稿者/ Hongliang -(2007/03/19(Mon) 18:58:42)
>
    XmlSerializer の Serialize メソッドのドキュメントを調べてみてください。
記事No.2119 のレス /過去ログ10より / 関連記事表示
削除チェック/

■2125  Re[4]: XmlSerializerにおけるencodi
□投稿者/ M.K -(2007/03/19(Mon) 19:54:57)
    No2124 (Hongliang さん) に返信
    
    > XmlSerializer の Serialize メソッドのドキュメントを調べてみてください。
    
    Hongliangさん、お返事ありがとうございます。
    
    以下の様に記述したところ、望むような書式で保存されました。
    
      XmlSerializer serializer = new XmlSerializer(typeof(Pattern[]));
      XmlWriterSettings settings = new XmlWriterSettings();
      settings.Indent = true;
      settings.IndentChars = ("    ");
      settings.Encoding = Encoding.UTF8;
      using (XmlWriter writer = XmlWriter.Create(FileName, settings))
      {
          serializer.Serialize(writer, wrkPattern);
      }
    
    ありがとうございました。
記事No.2119 のレス / END /過去ログ10より / 関連記事表示
削除チェック/



<< 0 >>

パスワード/

- Child Tree -