XML ドキュメントと XML データ

.NET Framework には、XML 対応アプリを容易に構築するための、包括的で統合された一連のクラスが用意されています。 次の名前空間のクラスでは、XML の解析と書き込み、メモリ内での XML データの編集、データの検証、および XSLT 変換がサポートされます。

完全な一覧で、.NET API ブラウザーで "System.Xml" を検索、ます。

次の名前空間のクラスでは、World Wide Web Consortium (W3C) 勧告がサポートされます。 次に例を示します。

.NET Framework の XML クラスの利点を次に示します。

  • 生産性。LINQ to XML (C#) および LINQ to XML (Visual Basic) により XML でのプログラミングがさらに容易になるほか、SQL と同じようにクエリを利用できます。

  • 拡張性。 .NET Framework の XML クラスは、抽象基本クラスと仮想メソッドを使用することによって拡張できます。 たとえば、キャッシュ ストリームをローカルのディスクに格納する XmlUrlResolver クラスの派生クラスを作成できます。

  • プラグ可能なアーキテクチャ。 .NET Framework が提供するアーキテクチャでは、コンポーネントが相互に利用できます。また、コンポーネント間でデータをストリーム転送できます。 たとえば、XPathDocument オブジェクト、XmlDocument オブジェクトなどのデータ ストアは、XslCompiledTransform クラスを使って変換でき、その出力は、別のストアにストリーム転送することも、Web サービスからのストリームとして返すこともできます。

  • パフォーマンス。 アプリのパフォーマンスを高めるために、.NET Framework の一部の XML クラスはストリーム ベースのモデルをサポートし、次の特性を備えています。

    • キャッシング処理を最小限に抑える前方参照専用のプル モデル解析 (XmlReader)。

    • 前方参照専用の検証 (XmlReader)。

    • 作成するノードを単一の仮想ノードに抑えながら、ドキュメントへのランダム アクセスを可能にする、カーソル スタイルのナビゲーション (XPathNavigator)。

    XSLT 処理が必要になるときのパフォーマンスを常に高めるために、XPathDocument クラスを使用できます。このクラスは、XslCompiledTransform クラスと効率よく連携するように設計された、XPath クエリ用の最適化された読み取り専用ストアです。

  • ADO.NET との統合。 XML クラスと ADO.NET が緊密に統合されることで、リレーショナル データと XML が結合されます。 DataSet クラスは、データベースから取得されたデータのメモリ内キャッシュです。 DataSet クラスは、XmlReader クラスと XmlWriter クラスを使用して XML を読み書きする機能、内部リレーショナル スキーマ構造を XML スキーマ (XSD) として永続化する機能、および XML ドキュメントからスキーマ構造を推論する機能を備えています。

このセクションの内容

XML の処理オプション XML データの処理に関するオプションについて説明します。

メモリ内の XML データの処理 XML データをメモリ内で処理する 3 つの方法について説明します。LINQ to XML (C#) および LINQ to XML (Visual Basic)XmlDocument クラス (W3C ドキュメント オブジェクト モデルに基づく)、および XPathDocument クラス (XPath データ モデルに基づく)。

XSLT 変換
XSLT プロセッサの使い方について説明します。

XML スキーマ オブジェクト モデル (SOM)
スキーマの読み込みと編集のための XmlSchema クラスを提供することで、XML スキーマ (XSD) の作成と操作に使用されるクラスについて説明します。

XML とリレーショナル データおよび ADO.NET との統合
.NET Framework が DataSet オブジェクトと XmlDataDocument オブジェクトを介して、データのリレーショナル表現および階層表現の両方に対するリアルタイムの同期アクセスを実現するしくみついて説明します。

XML ドキュメントでの名前空間の管理
XmlNamespaceManager クラスを使用して、名前空間情報を格納および保持する方法について説明します。

System.Xml クラスでの型のサポート
XML データ型を CLR 型にマップする方法、XML データ型を変換する方法、および System.Xml クラスのその他の型サポート機能について説明します。

ADO.NET
ADO.NET を使用してデータにアクセスする方法について説明します。

Security
.NET Framework セキュリティ システムの概要を説明します。