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

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

C# と VB.NET の入門サイト

Re[2]: XMLを読み込み、内容をクラスのインスタンスに保存したい


(過去ログ 21 を表示中)

[トピック内 4 記事 (1 - 4 表示)]  << 0 >>

■9252 / inTopicNo.1)  XMLを読み込み、内容をクラスのインスタンスに保存したい
  
□投稿者/ nbmyou (31回)-(2007/10/23(Tue) 16:25:37)

分類:[C#] 

当掲示板にはたびたびお世話になっています。
初心者のnbmyouと申します。

現在、下記のようなフォーマットのXMLファイルを複数読み込み、
それぞれを、クラスもしくは構造体に保存したいと思い、試行錯誤しています。
+++++++++++++++
<xml version="1.0" encoding="Shift_JIS">
<メッセージ>
    <宛先氏名>小山田</宛先氏名>
    <アドレス>aaa@bb.co.jp</アドレス>
    <件名>I love you</件名>
    <本文>あなたが好きです。付き合ってください</本文>
</メッセージ>
+++++++++++++++

上記のXMLと同じ構造のクラスを用意し、
XmlSerializerを使うのが簡単かと思いました。
・・・が、XMLの各タグ名が日本語であるため、この方法を使うためには
クラス名・変数名を日本語にしなければならないと思われます。
(XMLファイルの仕様は変更できません)

そこで質問なのですが、
@クラス名・変数名を日本語にするのはアリでしょうか。
 またそうした場合、何か問題は起こりますでしょうか。
A皆さんであれば、上記のような使用のプログラムを作る場合、
 どのような方法をとりますでしょうか。

@Aどちらかで構いませんので、お手数ですが、
お分かりになる方がいらっしゃいましたら、ご教授いただけると助かります。

どうぞよろしくお願いいたします。

引用返信 編集キー/
■9253 / inTopicNo.2)  Re[1]: XMLを読み込み、内容をクラスのインスタンスに保存したい
□投稿者/ Hongliang (204回)-(2007/10/23(Tue) 16:31:51)
Hongliang さんの Web サイト
> @クラス名・変数名を日本語にするのはアリでしょうか。
良いんじゃないですか別に。

>  またそうした場合、何か問題は起こりますでしょうか。
海外の方が開発に参加したとき、コーディングに往生するとか。

> A皆さんであれば、上記のような使用のプログラムを作る場合、
>  どのような方法をとりますでしょうか。
XmlElement 属性とかを使って XmlSerialize。
引用返信 編集キー/
■9255 / inTopicNo.3)  Re[2]: XMLを読み込み、内容をクラスのインスタンスに保存したい
□投稿者/ nbmyou (32回)-(2007/10/23(Tue) 16:47:16)
2007/10/23(Tue) 17:03:05 編集(投稿者)

No9253 (Hongliang さん) に返信
>>@クラス名・変数名を日本語にするのはアリでしょうか。
> 良いんじゃないですか別に。
>
>> またそうした場合、何か問題は起こりますでしょうか。
> 海外の方が開発に参加したとき、コーディングに往生するとか。
>
>>A皆さんであれば、上記のような使用のプログラムを作る場合、
>> どのような方法をとりますでしょうか。
> XmlElement 属性とかを使って XmlSerialize。

なんて便利な属性!

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

Aの回答から調べて実装してみたところ、
XmlRoot属性・XmlElement属性でドンピシャリ、やりたかった事が実現できました。

どうも、ありがとうございました!
解決済み
引用返信 編集キー/
■9256 / inTopicNo.4)  Re[1]: XMLを読み込み、内容をクラスのインスタンスに保存したい
□投稿者/ れい (149回)-(2007/10/23(Tue) 17:04:50)
2007/10/23(Tue) 17:06:34 編集(投稿者)

ほとんどひやかしです。

No9252 (nbmyou さん) に返信
> 現在、下記のようなフォーマットのXMLファイルを複数読み込み、

ラブレターをxmlで管理する時代になったのですね。
しかも複数とは。
もてもてですね。

> @クラス名・変数名を日本語にするのはアリでしょうか。
>  またそうした場合、何か問題は起こりますでしょうか。

「〜」とかを正しく対応してくれないかもしれません。
最近は解決したのでしょうか?
偉い人教えてください。

> A皆さんであれば、上記のような使用のプログラムを作る場合、
>  どのような方法をとりますでしょうか。

ラブレターでしたら手書きのままで管理します。

エンコードの問題が怖いですし、
漢字文化圏でない人には漢字は相当見づらいらしいので、
そもそもタグに日本語を使いたくないです。

#そういえば「く」と「<」が区別付かないと怒られたことがあります

変えられないなら普通にXmlReaderで読むと思います。

データを読むのが重要である場合に
私はSerializerを使いません。
同一アプリ内で書いたり読んだりするときだけに使います。

Serializerはエラーが起きても何が悪いのかわかりづらいのです。
XMLが間違っている場合、
Serializerではどこがどう悪いのか全然わかりません。
XmlReaderならある程度わかります
エラーの時には「変だから読めない」ではなくて、「〜の辺りが変」と
表示したいと思うのです。

それにはXmlReaderでパーサーを組むのが一番早いです。
もちろん書くほうは楽々なので何でも。

#追記。
解決済み消えちゃった。
解決済み
引用返信 編集キー/


トピック内ページ移動 / << 0 >>

このトピックに書きこむ

過去ログには書き込み不可

管理者用

- Child Tree -