- PR -

XMLのエンコーディング指定の方法について

1
投稿者投稿内容
mso
ぬし
会議室デビュー日: 2003/12/04
投稿数: 496
お住まい・勤務地: 宮城
投稿日時: 2007-07-11 18:07
msoです

C#(.NetFramework2.0)で開発を行っております。

XMLの出力方法について分からないことがあり、
教えていただけないでしょうか?
分からないことはシリアル化した場合に、
コード:
<?xml version="1.0"?>


とでてしまいますが、
コード:
<?xml version="1.0" encoding="SHIFT_JIS"?>


とエンコードを指定したいです。

以下にサンプルソースを作成し、試して見ましたが、何を
修正したらいいのかわかりません。

シリアル化するプログラム
コード:
    private void button1_Click(object sender, EventArgs e)
    {
        Class1 response = new Class1();
        using (Stream stream = new FileStream(@"c:\sample.xml", FileMode.Create))
        {
            XmlSerializer serializer = new XmlSerializer(typeof(Class1));
            serializer.Serialize(stream, response);
        }
    }



class1.cs
コード:
    [SerializableAttribute()]
    [System.Xml.Serialization.XmlRootAttribute(Namespace = "", IsNullable = false, ElementName = "test")]
    public class Class1
    {
        public string hoge = "Hello World";
    }



処理結果
コード:
<?xml version="1.0"?>
<test xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
  <hoge>Hello World</hoge>
</test>




れい
ぬし
会議室デビュー日: 2005/11/01
投稿数: 346
投稿日時: 2007-07-11 19:40
引用:

msoさんの書き込み (2007-07-11 18:07) より:
コード:
<?xml version="1.0" encoding="SHIFT_JIS"?>


とエンコードを指定したいです。




コード:
    private void button1_Click(object sender, EventArgs e)
    {
        Class1 response = new Class1();
        using (writer = new XmlTextWriter(@"c:sample.xml", System.Text.Encoding.GetEncoding("Shift-JIS"))
        {
            XmlSerializer serializer = new XmlSerializer(typeof(Class1));
            serializer.Serialize(writer, response);
        }
    }


1

スキルアップ/キャリアアップ(JOB@IT)