次の方法で共有


関数型プログラミングと手続き型プログラミング (LINQ to XML)

XML アプリケーションにはさまざまな種類があります。

  • 一部のアプリケーションでは、ソース XML ドキュメントを取得し、ソース ドキュメントとは異なる形の新しい XML ドキュメントを生成します。
  • 一部のアプリケーションでは、ソース XML ドキュメントを取得し、HTML や CSV テキスト ファイルなど、まったく異なる形式で結果ドキュメントを生成します。
  • 一部のアプリケーションでは、ソース XML ドキュメントを取得し、データベースにレコードを挿入します。
  • 一部のアプリケーションでは、データベースなどの別のソースからデータを取得し、そこから XML ドキュメントを作成します。

これらはすべての種類の XML アプリケーションではありませんが、XML プログラマが実装する必要がある機能の代表的なセットです。

これらすべての種類のアプリケーションには、開発者が取ることができる 2 つの対照的なアプローチがあります。

  • 宣言型アプローチを使用した関数型構築。
  • 手続き型コードを使用したインメモリ XML ツリーの変更。

LINQ to XML では、両方の方法がサポートされています。

関数型アプローチを使用する場合は、ソース ドキュメントを取得し、目的の図形を持つまったく新しい結果ドキュメントを生成する変換を記述します。

XML ツリーをインプレースで変更する場合は、必要に応じて、インメモリ XML ツリー内のノードを走査して移動し、ノードを挿入、削除、および変更するコードを記述します。

どちらの方法でも LINQ to XML を使用できます。 同じクラスを使用し、場合によっては同じメソッドを使用します。 ただし、2 つのアプローチの構造と目標は異なります。 たとえば、状況が異なる場合、一方または他のアプローチの方がパフォーマンスが向上し、多かれ少なかれメモリを使用することがよくあります。 さらに、一方または他の方法を使用すると、より保守しやすいコードを記述し、生成しやすくなります。

対照的な 2 つの方法については、「 インメモリ XML ツリーの変更と関数型構築」を参照してください。

関数型変換の記述に関するチュートリアルについては、「 純粋関数型変換の概要」を参照してください。