kengo700のダイアリー

誰の役にも立たないと思う情報を発信するブログ

C#によるXMLファイル入出力まとめ(仮)

C#言語でXML形式のファイルを読み込み・書き込みする方法についてまとめます。

※かなり適当なまとめなのでそのうち書き直すかもしれません。

はじめに

XMLファイルを扱う必要が出てきて、ちょうどC#を勉強していたので、C#でXMLファイルの入出力を行う方法を調べてみました。

幾つか方法があるみたいなので、各方法について現在理解していることをまとめておきます。なので間違いが多々あると思います。ご注意ください。

C#によるXMLファイル入出力

C#によるXMLファイル入出力には、下記のような方法があるようです。

  • XmlSerializer
  • XPath
  • LINQ to XML

今のところの理解では、XMLファイルの構造が簡単なら「XmlSerializer」、構造が複雑なら「LINQ to XML」、複雑な操作をしたければ「XPath」という感じだと思います。

XmlSerializer

XMLファイルと同じ構造のクラスを作成し、それに情報を読み込む、またはクラスのデータを書き出す方法です。

読み込み、書き出し部分以外は通常のクラスに対する操作で情報を扱います。

「C# XML」で検索するとこの方法が出てくるのですが、いちいちクラスを作るのがめんどくさく感じます。XMLファイルの構造が複雑だと特に。

XPath

XPathという構文を利用して、XMLファイルから指定した情報を抜き出すことができます。

抜き出した情報に対しては、配列やコレクションに対する操作を行うことができます。

XPathというのはXML専用のものではなくて、木構造を表現する方法の一つみたいです。

LINQ to XML

LINQを利用して、XMLファイルから特定の条件に合う情報を抜き出すことができます。

抜き出した情報に対しては、配列やコレクションに対する操作を行うことができるようです。

LINQについて勉強中なので、ほとんど理解できていません。

おわりに

昔にC++でXMLファイルを扱ったときに比べてだいぶ簡単な気がします。

でもRubyとかのほうがもっと簡単なんでしょうか?そのうち勉強します。