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

Chapter18 LINQ to XML

川俣 晶
2010/05/06

 本記事は、(株)技術評論社が発行する書籍『[完全版]究極のC#プログラミング ― 新スタイルによる実践的コーディング』から、許可を得て転載しています。
 同書籍は、もともと本フォーラムにて連載していた『C# 2.0入門』、『C# 3.0入門』の記事を整理統合し、加筆、修正されたものです。

  手元でまとめて読みたい方は、ぜひ書店などにてお買い求めください。

 【注意】本記事は、書籍の内容を改変することなく、そのまま転載したものです。このため用字用語の統一ルールなどは@ITのそれとは一致しません。あらかじめご了承ください。

18.1 LINQプロバイダーを導入する別の理由

 前章では、クエリを遠隔地のサーバーに依頼するためにLINQ to Objectsではなく、カスタムなLINQプロバイダーを使用する価値があることを示した。しかし、それはLINQプロバイダーを使用する理由のすべてではない。別の意図で作成されるLINQプロバイダーもある。

 たとえば、「LINQ to XML」はXML文書に対する検索を依頼するLINQプロバイダーであるが、これは遠隔地の対象を扱わない。あくまでオブジェクトとして存在するXML文書を対象として扱う。しかし、XML文書はツリー構造であるため、単純な列挙によって扱うLINQ to Objectsとの相性が良いとはいえない。ここで、XML専用プロバイダーを使えば、XML文書の利用効率を向上させることができる。これもまた、LINQプロバイダーを導入する理由の1つといえる。

 前章では、なぜSQL Serverが“使えない”かという話題から始めたが、本章でも、なぜXMLが“使えない”のかという話から始めよう。


 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 記事ランキング

本日 月間