XmlReadMode 列舉

定義

指定如何將 XML 資料與關係型架構讀取至 DataSet

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

欄位

名稱 Description
Auto 0

預設的讀取模式。

ReadSchema 1

讀取任何內嵌結構並載入資料。 如果 已經 DataSet 包含結構,可以新增資料表,但如果內嵌結構中已有任何資料表存在 DataSet於 。

IgnoreSchema 2

忽略任何內嵌結構,將資料讀入現有 DataSet 架構。 若有資料與現有結構不符,則會被丟棄(包括來自不同命名空間 DataSet的資料)。 如果資料是 DiffGram,則 IgnoreSchema 具有與 DiffGram相同的功能。

InferSchema 3

忽略任何內嵌結構,從資料推斷結構並載入資料。 如果已經 DataSet 包含一個結構,則會透過新增資料表或在現有資料表中新增欄位來擴充現有架構。 如果推斷出的資料表已經存在但命名空間不同,或推斷出的欄位與現有欄位衝突,則會拋出例外。

DiffGram 4

讀取一個微分圖,並將從微分圖的變更應用到 DataSet。 語意 Merge(DataSet) 與操作相同。 與操作 Merge(DataSet) 相同, RowState 值會被保留。 輸入 與 ReadXml(XmlReader) DiffGram 的輸入應該只用 DiffGram WriteXml(Stream) 的輸出來取得。

目標DataSet必須與 DiffGram 所呼叫的目標具有相同的結構DataSetWriteXml結構。 否則 DiffGram 合併操作會失敗並拋出例外。

Fragment 5

讀取 XML 片段,例如執行 FOR XML 查詢所產生的片段,並對 SQL Server 實例進行。 當 XmlReadMode 設為 Fragment時,預設命名空間會被讀取為內嵌結構。

InferTypedSchema 6

忽略任何內嵌結構,從資料推斷強型別架構,並載入資料。 若無法從資料推斷該型別,則將其解讀為字串資料。 如果已經 DataSet 包含一個結構,當前結構會被擴展,無論是新增資料表,或是為現有資料表新增欄位。 如果推斷出的資料表已經存在但命名空間不同,或推斷出的欄位與現有欄位衝突,則會拋出例外。

備註

在設定 ReadMode 方法參數 DataSet.ReadXml 時,請使用此列舉的成員。

Note

Auto 模式可能比設定 XmlReadMode 為明確選項還慢。

Auto 執行以下最合適的動作:

  • 若資料為 DiffGram,則將 XML 讀取模式設為 DiffGram

  • 如果資料集已有結構,或文件中包含內嵌結構,則將 XML 讀取模式設為 ReadSchema

  • 若資料集尚未具備結構,且文件中不包含內嵌結構,則將 XML 讀取模式設為 InferSchema

適用於