6

データベースから取得したデータセットに基づいて、その場で XML ファイルを生成する必要がある .net アプリケーションで作業しています。XML スキーマは、提供された xsd に基づく必要があります。データセットまたは各データ行を xsd にバインドまたは関連付ける方法があることを知りたいです。それがまったくできるかどうかわからないか、XSDの使用を間違った視点で考えている可能性があります。私が間違っている場合は、修正して、db から取得したデータを定義済みのスキーマに関連付ける最良の方法を教えてください。ありがとうございます。

更新: xsd に関する私の見解が間違っている場合は、xsd の使用方法を明らかにしてください (または、役立つリンクをいくつか教えてください)。

4

2 に答える 2

3

Visual Studio に含まれているコマンド ライン xsd.exe プログラムのパラメーターとしてスキーマ ドキュメントを使用して、プロジェクト/ソリューションに含めることができるクラス ファイルまたは型指定されたデータセットを生成します。これらのクラスまたはデータセットは xml にシリアル化でき、作成に使用したスキーマ ドキュメントに準拠します。

これに関する唯一の問題は、動的ではないことです。実行時までスキーマ ファイルを取得するのを待つことはできません。しかし、それ以外の場合、これをサポートするものは何も組み込まれていません。

于 2008-09-16T19:31:27.083 に答える
1

Joel Coehoorn によって提案されたソリューション (XSD から型指定されたデータセットまたはビジネス エンティティを生成する) に加えて、いくつかのアプローチを追加します。

  1. Oracle や MS SQL Server などの XML タイプをサポートするデータベースを使用する場合、SQL クエリで XML を構築し、データセットの作成をバイパスしてデータベースから直接 XML を取得できます。
  2. データベース スキーマが特定の XSD に直接マップされていない場合、つまり、既に型指定されたデータセットまたは XML シリアル化可能なビジネス オブジェクトのセットがあり、それらのオブジェクトが提供されている XSD に準拠しない XML にシリアル化されている場合、次に、XSLT を使用して、指定された XSD に準拠する別の XML ドキュメントに XML を変換できます。
于 2008-09-16T20:07:35.517 に答える