If the dataset already has a schema, or the document contains an in-line schema, sets XmlReadMode to ReadSchema.

-or-

If the dataset does not already have a schema and the document does not contain an in-line schema, sets XmlReadMode to InferSchema.

DiffGram

Reads a DiffGram, applying changes from the DiffGram to the DataSet. The semantics are identical to those of a Merge operation. As with the Merge operation, RowState values are preserved. Input to ReadXml with DiffGrams should only be obtained using the output from WriteXml as a DiffGram.

The target DataSet must have the same schema as the DataSet on which WriteXml as DiffGram is called. Otherwise the DiffGram merge operation fails, and an exception is thrown.

Fragment

Reads XML fragments, such as those generated by executing FOR XML queries, against an instance of SQL Server. When XmlReadMode is set to Fragment, the default namespace is read as the inline schema.

IgnoreSchema

Ignores any inline schema and reads data into the existing DataSet schema. If any data does not match the existing schema, it is discarded (including data from differing namespaces defined for the DataSet). If the data is a DiffGram, IgnoreSchema has the same functionality as DiffGram.

InferSchema

Ignores any inline schema, infers schema from the data and loads the data. If the DataSet already contains a schema, the current schema is extended by adding new tables or adding columns to existing tables. An exception is thrown if the inferred table already exists but with a different namespace, or if any of the inferred columns conflict with existing columns.

InferTypedSchema

Ignores any inline schema, infers a strongly typed schema from the data, and loads the data. If the type cannot be inferred from the data, it is interpreted as string data. If the DataSet already contains a schema, the current schema is extended, either by adding new tables or by adding columns to existing tables. An exception is thrown if the inferred table already exists but with a different namespace, or if any of the inferred columns conflict with existing columns.

ReadSchema

Reads any inline schema and loads the data. If the DataSet already contains schema, new tables may be added to the schema, but an exception is thrown if any tables in the inline schema already exist in the DataSet.