• 締切済み

複数のXMLファイルからのデータ抽出

いつもお世話になっております。 .netFramework + C#環境で、XMLを使用して、Webページにリストを表示させるプログラムを考えています。 (正確には、XMLファイルのあるタグの中のデータを一覧で表示させたい。) 何が問題かというと、このXMLファイルが複数あり、しかもフォルダが階層化されている ということです。 幸いなことにフォーマットは同じなので、その点は問題ないのですが、複数の人間がその都度フォルダにXMLファイルを追加するので、ファイル名を指定して、プログラムを書くことが難しい状況です。 .net Framework のFileSystemObjectをうまく使えないかと考えています。 よろしくお願い致します。

みんなの回答

回答No.1

まず確認ですが・・・ ・任意の数のXMLファイルからリストを取得し、それを一つのページに合わせて表示する。 ・ディレクトリ構造も任意でXMLファイルが何層目にあるかは実際に調べないと分からない。 ・XMLファイルのノードの構造はすべてのXMLファイルで共通である。 ということですよね。 FileSystemInfoオブジェクトでできなくはない と思います。 GetDirectoriesメソッドとGetFilesメソッドで、フォルダおよびファイルの絶対パスを取得します。 GetFilesメソッドをパターン:*.xmlで取得したパス(配列)は、そのままXMLファイルを読み込む際に使用します。 GetDirectoriesメソッドで取得したパスは、GetFilesメソッドの検索対象フォルダになります。 どちらもstring型配列で返されるので、その配列を利用してループですね。 ディレクトリ構造および、xmlファイルの保存場所にルールがないと、汎用的にはなりますがプログラムは結構面倒です。 一方、ルールがあると汎用的にならない反面、プログラムは簡単になります。 基本的には後者をお勧めしますが、まぁ、事情があるのだと思います。 がんばってください。

関連するQ&A

専門家に質問してみよう