C# – 細かく「LINQ to XML」

前回はXMLの基礎知識に触れました。

今回はC#を使って実際にXMLを作成してみます。

(C#4.0)

XML With C#

C#でXMLファイルを扱う方法は3つほどあるみたいです。どれを使ったほうがいいかは結構論争があるようなので、ここでは言及しません。

今回はLINQ to XMLを利用してみます。

LINQ to XMLってなにさ

日本語版.NETドキュメントによると

LINQ to XML は、XML ドキュメントを簡単かつ効率的に変更できるようにする、メモリ内 XML プログラミング インターフェイスです
[System.Xml.Linq Namespace | Microsoft Docs]

とのことです。引用文以下を読むに、XMLに対応したLINQだと。

このインターフェースを通すと、System.Linqのコレクションに対応する形でXMLも一元的に捉えられるようにして、欲しいデータに対しての操作さえ覚えれば、相手の状態を知らずとも欲しいデータにアクセスできるようです。

.NETドキュメントには、

  • 関数型アプローチ
  • 手続き型アプローチ

という2つのアプローチを利用してXMLを操作することが出来、多くの場合関数型アプローチで取り扱う方がプログラマに優しい(易しい?)と記載されています。

なので、次に関数型の主役である各クラスを調べていきます。

LINQ to XMLの主役

実際に利用するにXMLを構成物に対応するクラスを簡単な説明とともに挙げていきます。(以下System.Xml.Linq名前空間下)

  • XDocument
    XML文章に対応するクラス
  • XElement
    XMLの要素に対応するクラス
  • XAttribute
    XMLの属性に対応するクラス
  • XName
    XMLの要素名や属性名に対応するクラス
  • XDeclaration
    XMLの宣言部に対応するクラス
  • XNamespace
    XMLの名前空間に対応するクラス
  • XComment
    XMLのコメントに対応するクラス

これらを使ってXMLファイルの階段構造を実際にインスタンス化し、必要な操作をする、というのが基本になっていきます。

次回は実際に簡単なXMLを操作していきます。

カテゴリーC#

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です