program study story

プログラムの勉強 アウトプット

C# XMLファイル 方法

XMLファイルはマークアップ言語。

マークアップ言語とは、

マークをつけることでデータを表現する言語のこと。

 

xmlファイルはxmlで書かれているだけで、普通のテキストファイル。

テキストファイルなので、簡単なものなら、メモ帳でも、全く問題なく、作成することできます。

--------------------------------

<メンバー情報> --------------1行目

 <名前>●●</名前> ---------2行目

 <住所>●●</住所>

</メンバー情報>

--------------------------------

一行目はxmlファイルのお決まりの一文。

2行目からタグの中に書き、タグの中にタグを追加。することで、データにどんどん意味を付けることができる。

仕組みは、階層構造とか、ツリー構造と呼ばれます。

 

xmlファイルは、文字だけでデータの意味の意味も、階層も表現できる、ファイルである。

 

xmlのメリット:

・タグを自由に決められる

・いろいろなシステム、環境で使えること

・データの種類を増やしやすい

 

xmlファイルの読み書き方法

1.DOMを使った方法

DOM=「Document Object Model」の略。

XmlDocumentクラスを使い、読み書きする方法。

 xmlファイルを一気に全て読み込んで記憶するので、何度もデータを検索したり、書き込んだりする場合に適しています。

 しかし、全て読み込んで記憶するため、処理が他に比べて遅くなる。

 

2.SAXを使った方法

SAX=「Simple API for XML」の略。

XmlReaderクラスを使って読み込む方法。

 ファイルの内容を記憶しないで一度だけ読み込むので、他に比べて処理が速め。

 しかし、先頭から読み込むため前の行には戻れないため、何度も検索して、データを使いたい際にはSAXは不便でしょう。

 

3.LINQを使った方法

LINQ(リンク)は、非常に簡単に言うと、SQLっぽい文章をC#コード上で使えるようにしてくれるもの。

LINQは他に比べて、とてもシンプルな書き方で読み書きすることができ、処理も早く、DOM,SAXのいいところを取っている方法。

 

読み込み方---LINQで読み込む手順

//xmlファイルを指定する

XElement xml = XElement.Load(@"Fileのある場所")=(C;\sr..)

 

//メンバー情報のタグ内の情報を取得する

IEnumerrable<String> infis =from item in xml.Elements("メンバー情報").Elements("名前") select item.Value;

 

//メンバー情報分ループして、コンソールに表示

foreach(String info in infos)

{

 Console.WriteLine(info);

}