C#のLinqのメソッド一覧 ファイルの読み込み書き込み

【C# sharp Linq】Load、Root.Elementsを使用したXmlファイルの読み込み方法

ChatGPTのAPIを使わずに自動化することが可能です。
下記の本を読めば、ChatGPT4でも料金掛からずに自動化できます!KindleUnlimited会員であれば無料で読めます。

今回のテーマ

こんにちは、サルモリです。

今回はXmlファイルを読み込んでLinqで好きな形にしていこう!

という趣旨のブログを書いていきます。

C#では、Xmlファイルの扱いが比較的充実しているので、何回か分けて記事を書いていこうと思っています。

私もXmlファイルの扱い方は結構忘れがちなので、一緒に勉強していくつもりで記事を書いていきます!!

それでは、ソースコードを書いていきます!!

サルモリ
今回はXmlファイルの扱い方だよ!!

今回使用するXml

今回読み込むファイルは下記のXmlファイルです。名前は「Robot.xml」で、プログラムと同様のカレントディレクトリに置いてます。

Xmlファイルの読み込み

早速、Xmlファイルを読み込んでみましょう。読み込むためのメソッドはLoadメソッドです。

下記のソースコードを見てください。

 出力結果
<robotlists>
<robotlist>
<name>Rockman</name>"
<maker>Dr_Light</maker>"
<color>Blue</color>"
</robotlist>
<robotlist>
以下略・・・・

Robol.xmlファイル内の全ての内容を読み込めました。Loadの戻り値はXDocument型で内容を保持できます。

要素の取得

続けて、要素の取得を行います。XDocumentオブジェクトを生成したら、Root.Elementsメソッドで、

ルート直下にある要素を全て取得します。

戻り値はIEnumerable<XElement>型なので、Linqなど自由に扱うことが出来ます。

今回はnameの要素を出力するソースコードにしてみました。

 出力結果
Rockman
Rockchan
Fireman
Iceman
Airman

想定通りに「name」の要素のみ取得できました。

foreachでは、XElement型を一つずつ取り出し、

Elementメソッドを使用することで、「name」の要素を取得しています。

「name」実際の文字列の要素を得るにはValueプロパティを使用しましょう。

Linqを組み合わせた例

最後にRoot.Elements()で受け取った戻り値に対して、Linqを使って行く例を見てみましょう。

今回のソースコードでは、Selectメソッドで名前を抜き出し、OrderByメソッドで並び替えを行いました。

 出力結果
Airman
Fireman
Iceman
Rockchan
Rockman

Linqのメソッドについては下記の記事を参考にしてください。

こちらもCHECK

【C# sharp Linq】Distinct、OrderBy、OrderByDescendingメソッドを解説します。

ChatGPTのAPIを使わずに自動化することが可能です。 下記の本を読めば、ChatGPT4でも料金掛からずに自動化できます!KindleUnlimited会員であれば無料で読めます。 今回のテーマ ...

続きを見る

こちらもCHECK

【C# sharp Linq】クラスを定義してSelectメソッドを使おう。

ChatGPTのAPIを使わずに自動化することが可能です。 下記の本を読めば、ChatGPT4でも料金掛からずに自動化できます!KindleUnlimited会員であれば無料で読めます。 今回のテーマ ...

続きを見る

Linqを自由に使えるので、使いたい値にするのも簡単ですね。

サルモリ
戻り値がLinqを使用できる型なので、値の整形が簡単だね!!

まとめ

今回はxmlの読み込みについて解説していきました。今回使用したメソッドは下記です。

今回使用したメソッド

  • Load
  • Root.Elements
  • Element

Root.Elementsメソッドによって、Linqが使い放題の型にしてくれるので、

Xmlファイルの扱いが各段に楽になりました。

Xmlファイルに関しては、他にも沢山記事を書いてくので、楽しみにしててください。

それでは、最後まで見て頂きありがとうございました。

Xmlの読み込みに関して、新しい記事を書きました。

こちらもご覧ください。

こちらもCHECK

【C# sharp Linq】Xmlファイルの要素の追加、削除、修正方法

ChatGPTのAPIを使わずに自動化することが可能です。 下記の本を読めば、ChatGPT4でも料金掛からずに自動化できます!KindleUnlimited会員であれば無料で読めます。 今回のテーマ ...

続きを見る

-C#のLinqのメソッド一覧, ファイルの読み込み書き込み

Ads Blocker Image Powered by Code Help Pro

Ads Blocker Detected!!!

We have detected that you are using extensions to block ads. Please support us by disabling these ads blocker.

Powered By
Best Wordpress Adblock Detecting Plugin | CHP Adblock