連載:[完全版]究極のC#プログラミング

Chapter18 LINQ to XML

川俣 晶
2010/05/06

18.7 まとめ―ストレスレスなXMLの扱い

 従来から、C#は比較的XMLを扱いやすい言語であった。標準でXML関連のクラスライブラリが提供され、文字列もISO 10646/Unicodeであり、文字のエンコードもXMLと同じIANA名準拠だったため、安心してXML文書を扱うことができた。また、DOMにも初期の頃からW3C非準拠の便利な機能が追加されていて、コーディング時のストレス感もそれほど大きくはなかった。

 しかし、それでもC#でXMLを扱うとき、筆者の場合、一息ついて「やるぞ」と気合いを入れる必要があったのも事実である。だから、XMLを扱う機能は特定のクラスに集約し、ソースコードの大半はXMLのことを忘れて記述できるような構造をいつも採っていた。しかし、そうしたやり方はC# 3.0になって完全に変わった感がある。LINQ to XMLがあれば、気合いを入れなくとも、気楽にXMLを扱うコードが書けるのである。

 これにより、従来はXMLを使わなければ処理できない部分だけにXMLを使っていたが、これからはXMLを使わなくとも処理できる部分にもXMLを使っていくことになるかもしれない。そのような構造を採ることは、データをプログラム外に持ち出しやすくなることを意味し、ネットワーク経由での分散処理の時代への1つの布石になるかもしれない。

【Exercise】練習問題

 LINQ to XMLについて正しい説明を行っているものを選べ。

  1. XML文書の構築など、クエリ以外の機能も持つ
  2. LINQ to SQLの拡張であり、SQL ServerのXML型へのクエリを行う
  3. 遠隔地のXMLデータベースに対してクエリを発行する専用機能である
  4. DOMオブジェクトツリーに対するLINQ to Objectsによるクエリのことである
  5. XML Web Serviceで使用されるSOAPプロトコルを用いてSQL Serverにクエリを行う

 ◎解答:「1」(この行をマウスで選択してください)End of Article


 INDEX
  [完全版]究極のC#プログラミング
  Chapter18 LINQ to XML
    1.18.1 LINQプロバイダーを導入する別の理由
    2.18.2 XML最大の災厄
    3.18.3 DOMの憂鬱
    4.18.4 E4XのXMLサポート
    5.18.5 LINQ to XMLというブレークスルー
    6.18.6 単純化されたXML文書生成
  7.18.7 まとめ―ストレスレスなXMLの扱い/練習問題
 
インデックス・ページヘ  「[完全版]究極のC#プログラミング」


Insider.NET フォーラム 新着記事
  • 第2回 簡潔なコーディングのために (2017/7/26)
     ラムダ式で記述できるメンバの増加、throw式、out変数、タプルなど、C# 7には以前よりもコードを簡潔に記述できるような機能が導入されている
  • 第1回 Visual Studio Codeデバッグの基礎知識 (2017/7/21)
     Node.jsプログラムをデバッグしながら、Visual Studio Codeに統合されているデバッグ機能の基本の「キ」をマスターしよう
  • 第1回 明瞭なコーディングのために (2017/7/19)
     C# 7で追加された新機能の中から、「数値リテラル構文の改善」と「ローカル関数」を紹介する。これらは分かりやすいコードを記述するのに使える
  • Presentation Translator (2017/7/18)
     Presentation TranslatorはPowerPoint用のアドイン。プレゼンテーション時の字幕の付加や、多言語での質疑応答、スライドの翻訳を行える
@ITメールマガジン 新着情報やスタッフのコラムがメールで届きます(無料)

注目のテーマ

Insider.NET 記事ランキング

本日 月間