前回は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を操作していきます。