XmlReadMode 列挙型

定義

XML データとリレーショナル スキーマを DataSetに読み取る方法を指定します。

public enum class XmlReadMode
public enum XmlReadMode
type XmlReadMode = 
Public Enum XmlReadMode
継承
XmlReadMode

フィールド

名前 説明
Auto 0

既定の読み取りモード。

ReadSchema 1

インライン スキーマを読み取り、データを読み込みます。 DataSetに既にスキーマが含まれている場合は、新しいテーブルがスキーマに追加される可能性がありますが、インライン スキーマ内のテーブルが既にDataSetに存在する場合は例外がスローされます。

IgnoreSchema 2

インライン スキーマを無視し、既存の DataSet スキーマにデータを読み取ります。 既存のスキーマと一致しないデータがある場合は、破棄されます ( DataSetに対して定義されている異なる名前空間のデータを含む)。 データが DiffGram の場合、 IgnoreSchemaDiffGramと同じ機能を持ちます。

InferSchema 3

インライン スキーマを無視し、データからスキーマを推論し、データを読み込みます。 DataSetに既にスキーマが含まれている場合は、新しいテーブルを追加するか、既存のテーブルに列を追加することで、現在のスキーマが拡張されます。 推論されたテーブルが既に存在するが、別の名前空間を持つ場合、または推論された列のいずれかが既存の列と競合する場合は、例外がスローされます。

DiffGram 4

DiffGram を読み取り、DiffGram から DataSetに変更を適用します。 セマンティクスは、 Merge(DataSet) 操作のセマンティクスと同じです。 Merge(DataSet)操作と同様に、RowState値は保持されます。 DiffGram を使用した ReadXml(XmlReader) への入力は、 WriteXml(Stream) からの出力を DiffGram としてのみ使用して取得する必要があります。

ターゲット DataSetには、DiffGram とWriteXmlが呼び出されるDataSetと同じスキーマが必要です。 それ以外の場合、DiffGram マージ操作は失敗し、例外がスローされます。

Fragment 5

FOR XML クエリを実行して生成された XML フラグメントなど、SQL Serverのインスタンスに対して読み取ります。 XmlReadModeFragment に設定されている場合、既定の名前空間はインライン スキーマとして読み取られます。

InferTypedSchema 6

インライン スキーマを無視し、データから厳密に型指定されたスキーマを推論し、データを読み込みます。 データから型を推論できない場合は、文字列データとして解釈されます。 DataSetに既にスキーマが含まれている場合は、新しいテーブルを追加するか、既存のテーブルに列を追加することで、現在のスキーマが拡張されます。 推論されたテーブルが既に存在するが、別の名前空間を持つ場合、または推論された列のいずれかが既存の列と競合する場合は、例外がスローされます。

注釈

DataSet.ReadXml メソッドのReadMode パラメーターを設定するときは、この列挙体のメンバーを使用します。

Note

Auto モードは、明示的なオプションに XmlReadMode 設定するよりも遅い場合があります。

Auto は、次のアクションのうち最も適切なアクションを実行します。

  • データが DiffGram の場合は、XML 読み取りモードを DiffGramに設定します。

  • データセットに既にスキーマがある場合、またはドキュメントにインライン スキーマが含まれている場合は、XML 読み取りモードを ReadSchemaに設定します。

  • データセットにスキーマがまだなく、ドキュメントにインライン スキーマが含まれていない場合は、XML 読み取りモードを InferSchemaに設定します。

適用対象