.net column

.NET開発者のためのブログメディア
プログラムコード

【プログラミング言語からXMLを操作】LINQ to XMLについて

2019年12月24日

C#で開発するのに役立つのがLINQ機能です。LINQは直訳すると統合言語クエリといい、データベースやXMLへアクセスするのに統一的な手法で操作することが可能となります。LINQ機能の中でも利用頻度の高い、XMLにアクセスできるLINQ to XMLについてご紹介します。

SE
そもそもXMLってどういったものなのでしょうか?
PM
XMLはデータ記述用のマークアップ言語です。XMLドキュメントを利用することで、データの管理ややり取りを簡単に行えます。同じくマークアップ言語のHTMLと混同しがちですが、両者は全くの別物ですから注意しましょう!

LINQ to XMLとは

C#やVB.NETなど.NET Frameworkで動作するプログラミング言語を使用して、XMLドキュメントを操作することができるLINQの機能のひとつです。

LINQの特徴のひとつが統一的手法でデータにアクセスできることですので、同じくLINQ機能のひとつであるSQLと同じようにクエリを実装し、データのやり取りができます。これによりXMLの操作は以前に比べて、より簡単になったのではないでしょうか。

実際にLINQ to XMLを利用するにあたりまず、System.Xml.Linqをプログラム上部でusingする必要があります。これを記述しないと利用できませんので忘れずに行いましょう。
また、LINQ to XMLの特徴のひとつとして挙げられるのが、System.Xml.Linq名前空間内にある各クラス名の頭に’X’が付くことではないでしょうか。

以下、’X’が付くクラスの代表例となりますので確認しましょう。

  1. XElementクラス
  2. LINQ to XMLのベースとなるクラスのひとつです。このクラスを利用することで、XML要素の作成や変更、追加、削除などを行えます。また、要素コンテンツをテキストにシリアル化できることも特徴のひとつです。

  3. XDocumentクラス
  4. XMLドキュメントに情報(宣言やコメント)を持つことが可能です。

  5. XAttributeクラス
  6. XMLの属性を返します。XMLの要素(XElement)につけられている名前と値のペアになります。

LINQ to XMLの活用方法

ここでは、XDocumentを活用し、XDocument のSaveメソッドを使用してファイルを保存する一例です。テストコーディングの環境は、Visual Studio Community 2017、Windows Froms、C#とします。

LINQ to XMLを利用してのXMLファイルを出力する実行画面~実行結果

XML出力ボタンを押下します。
XML出力ボタン

C:\XML_OUTPUTフォルダにsubject.xmlファイルが作成されています。
ファイルの確認

出力されたsubject.xmlファイルの内容をテキストファイルで確認します。
XMLファイル

SE
LINQ to XMLは、積極的に使う方がいいのでしょうか?
PM
もちろん積極的に使うことをおすすめします。LINQは初心者の方には難しい機能にはなると思いますが、メンテナンス性も上がりますので、積極的に使用していきたい機能ではありますね。

LINQ to XMLで業務の効率化を

XMLドキュメントは多くの業務で活用されています。Webだけでなく、データベースや構成ファイルなどが一例として挙げられます。LINQ to XMLの知識があれば、多くのシステムで利用できるので、この機会に知識を増やしていきましょう。


.NET分野でのキャリアアップをお考えの方は、現在募集中の求人情報をご覧ください。

求人一覧

また、直接のエントリーも受け付けております。

エントリー(応募フォーム)