2009-04-01 10 views
1

Visual Studio 2008プロジェクト(Windowsフォームアプリケーションプロジェクトなど)にXMLファイルを追加する利点は何ですか?Visual Studio 2008プロジェクトにXMLファイルを追加する利点と有用性

一度プロジェクトに追加すると、このXMLを参照して同じプロジェクトのクラスでどのように使用できますか?この場合、私はそれをWebサービスへのクエリとして送信します。

答えて

3

あなたが何らかの形でXMLを使用する場合は、プロパティ・ウィンドウで「埋め込まれたリソース」としてそれをマークして、そのようなあなたのコードからアクセスできます。

Assembly a = Assembly.GetExecutingAssembly(); 
if(a != null) 
{ 
    Stream s = a.GetManifestResourceStream(typeof(yourType), "YourXmlName.xml"); 

    if (s != null) 
    { 
    String xmlContents = new StreamReader(s).ReadToEnd(); 
    } 
} 

ます一度」 XMLファイルの内容は "xmlContents"にあります。

マーク

0

アプリがXMLを読み込む必要がある場合は、出力ディレクトリにコピーすることができます。また、セットアップ/デプロイメントプロジェクトの使用を簡略化します...

2

あなたのプロジェクト(またはソリューションでさえ)にあなたのXMLが常駐しているという利点は、素晴らしいフォーマットとintelli-senseでVSでそれを維持できることです。 XML Spyのようなものを使用するか、それを何でも与えることができます。

クラスで参照するには、アクセス権があることと、信頼できる場所にあることを確認する必要があります。

以前は、投稿のビルドイベントを使用して、ファイルの最新コピーを必要な場所に移動しました。 Arnsheaがここに書いているように、もう一つの答えは "出力ディレクトリ"です。これを実現するには、XMLファイル自体の "出力ディレクトリにコピー"プロパティを使用できます。次に、クラスはXMLファイルを使用して、信頼できる場所に置かれることがわかります。

特に書き戻しをしている場合は、アクセス可能であることを確認する必要があります。ソースコントロールシステムがあなたにできるように、 "読み取り専用"にならないようにしてください。これらのファイルをProgram Filesの下にあるフォルダに保存することは、特にVista上で問題になる可能性があります。ここでは、ユーザー権限が制限されるべきです。

0

もう1つの大きな利点は、(それが正しいと仮定すれば、そうするべきです)XMLファイルにリビジョンコントロールを適用できることです。

0

同じ XMLファイルをWebServiceに何度も何度も送信することはないと思います。
あなたはXML Serializationを持っているたびにその内容を変更する必要があります。
上記のすべてが当てはまる場合にXMLファイルが必要な場合は、実行時にファイルを生成するクラスが必要です。 XMLは単なるトランスポートであり、今日はXMLであり、明日は他の形式(JSON)かもしれません。

関連する問題