none
XMLSerializerを用いたプログラム上でXmlElement名に括弧や句点を用いると文字が化ける RRS feed

  • 質問

  • お世話になっております。

     

    C#でXMLSerializerを用いたプログラムを開発中に、

    要素名が文字化けをしてしまい困っております。

     

    プログラムのある部分で、

    例えば次のようなコードがあるとします。

     

    [XmlElement("名前(なまえ)")]

    public string name ="";

     

    上記コードを含むクラス全体をXMLSerializerにて、シリアライズすると、

     

    下記のようにデータがXMLファイルに書き込まれてしまします。

    <名前_x0028_なまえ_x0029_>田中</名前_x0028_なまえ_x0029_>

     

    私としては<名前(なまえ)>田中</名前<なまえ)>にしたいのですが、

    回避策がございましたらご教授いただければと存じます。

    2009年1月21日 6:14

回答

  • 括弧はXMLの要素名として利用することができない文字です。
    なので,別の文字を利用することのみが回避策になります。

    なお,要素名は
    http://www.w3.org/TR/2006/REC-xml-20060816/
    の[5]の定義に従う必要があります。
    • 回答としてマーク sk7474 2009年2月2日 9:30
    2009年1月21日 6:47

すべての返信

  • 括弧はXMLの要素名として利用することができない文字です。
    なので,別の文字を利用することのみが回避策になります。

    なお,要素名は
    http://www.w3.org/TR/2006/REC-xml-20060816/
    の[5]の定義に従う必要があります。
    • 回答としてマーク sk7474 2009年2月2日 9:30
    2009年1月21日 6:47
  • こんにちは。中川俊輔です。

    YuOさん、回答ありがとうございます。

    ひろりんさん、フォーラムのご利用ありがとうございます。
    その後いかがでしょうか?
    有用な情報と思われたため、YuOさんの回答へ回答済みチェックをつけさせていただきました。

    また、参考として下記文書を紹介させていただきます。
    XML 要素名および属性名のエンコードとデコード
    http://msdn.microsoft.com/ja-jp/library/35577sxd.aspx

    今後ともフォーラムをよろしくお願いします。
    それでは!
    マイクロソフト株式会社 フォーラム オペレータ 中川 俊輔
    2009年2月2日 9:37