Linq ファイルの読み込み書き込み

C# Linq Xmlファイルの読み込み方法 Root.Elementsを使用して、Linqも使用できる型にしよう。Load、Root.Elements

ぜひこちらの記事もご覧ください!!
転職回数4回(独立系⇒メーカー系⇒社内SE⇒SES)の私がSESのメリットについて書きました!

SESで働いている私の年収と働き方

今回のテーマ

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

今回は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# Linqは便利なので使い方を覚えよう。Distinct、OrderBy、OrderByDescendingメソッドを解説します。

ぜひこちらの記事もご覧ください!! 転職回数4回(独立系⇒メーカー系⇒社内SE⇒SES)の私がSESのメリットについて書きました! SESで働いている私の年収と働き方 今回のテーマ こんばんは、サルモ ...

続きを見る

こちらもCHECK

C# Linqは便利なので使い方を覚えよう。クラスを定義してSelectメソッドを使おう。

ぜひこちらの記事もご覧ください!! 転職回数4回(独立系⇒メーカー系⇒社内SE⇒SES)の私がSESのメリットについて書きました! SESで働いている私の年収と働き方 今回のテーマ こんばんは、サルモ ...

続きを見る

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

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

まとめ

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

今回使用したメソッド

  • Load
  • Root.Elements
  • Element

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

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

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

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

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

こちらもご覧ください。

こちらもCHECK

C# Linq Xmlファイルの要素の追加、削除、修正方法 Add、Remove、ReplaceWithメソッドで修正した後にSaveメソッドで保存する方法を解説します。

ぜひこちらの記事もご覧ください!! 転職回数4回(独立系⇒メーカー系⇒社内SE⇒SES)の私がSESのメリットについて書きました! SESで働いている私の年収と働き方 今回のテーマ 今回記事では、Xm ...

続きを見る

ぜひこちらの記事もご覧ください!!
転職回数4回(独立系⇒メーカー系⇒社内SE⇒SES)の私がSESのメリットについて書きました!

SESで働いている私の年収と働き方

私は下記のサイトで現在の働き方、フルリモート(週5)の企業に出会うことができました。

今でもとても感謝しています!カウンセリングは無料なので、ぜひどうぞ!

 

C#のLinqをさらに学びたい方へ

C#のLinqを理解して頂くために参考書を執筆致しました!

Linqの演習問題はこちらの参考書に載せているので、問題を解いて理解を深めたい方はこちらの参考書チェックしてください!

下記の画像をクリック!!kindleunlimitedの会員であれば無料で見れます!

⇩初心者向け      ⇩中級者向け

C#でChatGPTAPIを使ってブログ作成を自動化しませんか?

-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