Редактиране

Споделяне чрез


XmlReadMode Enum

Definition

Specifies how to read XML data and a relational schema into a DataSet.

public enum class XmlReadMode
public enum XmlReadMode
type XmlReadMode = 
Public Enum XmlReadMode
Inheritance
XmlReadMode

Fields

Name Value Description
Auto 0

The default read mode.

ReadSchema 1

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.

IgnoreSchema 2

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 3

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.

DiffGram 4

Reads a DiffGram, applying changes from the DiffGram to the DataSet. The semantics are identical to those of a Merge(DataSet) operation. As with the Merge(DataSet) operation, RowState values are preserved. Input to ReadXml(XmlReader) with DiffGrams should only be obtained using the output from WriteXml(Stream) 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 5

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.

InferTypedSchema 6

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.

Remarks

Use the members of this enumeration when setting the ReadMode parameter of the DataSet.ReadXml method.

Note

Auto mode may be slower than setting XmlReadMode to an explicit option.

Auto performs the most appropriate of these actions:

  • If the data is a DiffGram, sets the XML read mode to DiffGram.

  • If the dataset already has a schema, or if the document contains an in-line schema, sets the XML read mode to ReadSchema.

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

Applies to