XmlReader.Create 方法
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
建立新的 XmlReader 執行個體。
多載
Create(String, XmlReaderSettings, XmlParserContext) |
使用剖析用的指定 URI、設定和內容資訊,建立新的 XmlReader 執行個體。 |
Create(TextReader, XmlReaderSettings, XmlParserContext) |
使用指定的文字讀取器、設定和內容資訊進行剖析,建立新的 XmlReader 執行個體。 |
Create(Stream, XmlReaderSettings, XmlParserContext) |
使用剖析用的指定資料流、設定和內容資訊,建立新的 XmlReader 執行個體。 |
Create(Stream, XmlReaderSettings, String) |
使用指定的資料流、基底 URI 和設定,建立新的 XmlReader 執行個體。 |
Create(XmlReader, XmlReaderSettings) |
使用指定的 XML 讀取器和設定,建立新的 XmlReader 執行個體。 |
Create(TextReader, XmlReaderSettings, String) |
使用指定的文字讀取器、設定和基底 URI,建立新的 XmlReader 執行個體。 |
Create(TextReader, XmlReaderSettings) |
使用指定的文字讀取器及設定,建立新的 XmlReader 執行個體。 |
Create(Stream, XmlReaderSettings) |
使用指定的資料流及設定,建立新的 XmlReader。 |
Create(String) |
使用指定的 URI,建立新的 XmlReader 執行個體。 |
Create(TextReader) |
使用指定的文字讀取器,建立新的 XmlReader 執行個體。 |
Create(Stream) |
使用指定的資料流,以預設設定建立新的 XmlReader 執行個體。 |
Create(String, XmlReaderSettings) |
使用指定的 URI 和設定,建立新的 XmlReader 執行個體。 |
備註
如需此 API 的詳細資訊,請參閱 XmlReader.Close 的補充 API 備註。
Create(String, XmlReaderSettings, XmlParserContext)
- 來源:
- XmlReader.cs
- 來源:
- XmlReader.cs
- 來源:
- XmlReader.cs
使用剖析用的指定 URI、設定和內容資訊,建立新的 XmlReader 執行個體。
public:
static System::Xml::XmlReader ^ Create(System::String ^ inputUri, System::Xml::XmlReaderSettings ^ settings, System::Xml::XmlParserContext ^ inputContext);
public static System.Xml.XmlReader Create (string inputUri, System.Xml.XmlReaderSettings? settings, System.Xml.XmlParserContext? inputContext);
public static System.Xml.XmlReader Create (string inputUri, System.Xml.XmlReaderSettings settings, System.Xml.XmlParserContext inputContext);
static member Create : string * System.Xml.XmlReaderSettings * System.Xml.XmlParserContext -> System.Xml.XmlReader
Public Shared Function Create (inputUri As String, settings As XmlReaderSettings, inputContext As XmlParserContext) As XmlReader
參數
- inputUri
- String
包含 XML 資料之檔案的 URI。
XmlReaderSettings 物件上的 XmlResolver 物件是用於將路徑轉換成標準資料表示。 如果 XmlResolver 為 null
,則會使用新的 XmlUrlResolver 物件。
- settings
- XmlReaderSettings
新 XmlReader 執行個體的設定。 這個值可以是 null
。
- inputContext
- XmlParserContext
剖析 XML 片段所需的內容資訊。 內容資訊可以包含要使用的 XmlNameTable、編碼方式、命名空間範圍、目前的 xml:lang
和 xml:space
範圍、基底 URI,以及文件類型定義。
這個值可以是 null
。
傳回
用以在資料流中讀取 XML 資料的物件。
例外狀況
inputUri
值為 null
。
XmlReader 沒有足夠的權限可以存取 XML 資料的位置。
找不到由 URI 指定的檔案。
URI 格式不正確。
備註
根據預設, XmlUrlResolver 沒有認證的 會用來存取任何外部資源,例如文件類型定義 (DTD) 、實體、架構等等。
重要
從 .NET Framework 4.5.2 開始,不會提供預設值 XmlUrlResolver 。 如果您的解決方案是以 .NET Framework 4.5.2 或更新版本為目標,請使用 XmlReaderSettings.XmlResolver 屬性指定 XmlResolver 。
這表示 XmlReader 可以存取不需要驗證的任何位置。 如果外部資源位於需要驗證的網路資源上,請使用 XmlReaderSettings.XmlResolver 屬性來指定 XmlResolver 具有必要認證的 。
重要
您可以將 屬性設定XmlResolver為 XmlSecureResolver 物件,以限制 可以存取的資源XmlReader。
建立 XmlReader 的物件會展開實體參考,並執行新行字元的 XML 正規化。
適用於
Create(TextReader, XmlReaderSettings, XmlParserContext)
- 來源:
- XmlReader.cs
- 來源:
- XmlReader.cs
- 來源:
- XmlReader.cs
使用指定的文字讀取器、設定和內容資訊進行剖析,建立新的 XmlReader 執行個體。
public:
static System::Xml::XmlReader ^ Create(System::IO::TextReader ^ input, System::Xml::XmlReaderSettings ^ settings, System::Xml::XmlParserContext ^ inputContext);
public static System.Xml.XmlReader Create (System.IO.TextReader input, System.Xml.XmlReaderSettings settings, System.Xml.XmlParserContext inputContext);
public static System.Xml.XmlReader Create (System.IO.TextReader input, System.Xml.XmlReaderSettings? settings, System.Xml.XmlParserContext? inputContext);
static member Create : System.IO.TextReader * System.Xml.XmlReaderSettings * System.Xml.XmlParserContext -> System.Xml.XmlReader
Public Shared Function Create (input As TextReader, settings As XmlReaderSettings, inputContext As XmlParserContext) As XmlReader
參數
- input
- TextReader
要從中讀取 XML 資料的文字閱讀器。 因為文字閱讀器會傳回 Unicode 字元的資料流,所以 XML 讀取器不會使用 XML 宣告中所指定的編碼方式,來解碼資料流。
- settings
- XmlReaderSettings
新 XmlReader 執行個體的設定。 這個值可以是 null
。
- inputContext
- XmlParserContext
剖析 XML 片段所需的內容資訊。 內容資訊可以包含要使用的 XmlNameTable、編碼方式、命名空間範圍、目前的 xml:lang
和 xml:space
範圍、基底 URI,以及文件類型定義。
這個值可以是 null
。
傳回
用以在資料流中讀取 XML 資料的物件。
例外狀況
input
值為 null
。
範例
下列範例會建立讀取 XmlReader XML 片段的物件。
string xmlFrag ="<item rk:ID='abc-23'>hammer</item> " +
"<item rk:ID='r2-435'>paint</item>" +
"<item rk:ID='abc-39'>saw</item>";
// Create the XmlNamespaceManager.
NameTable nt = new NameTable();
XmlNamespaceManager nsmgr = new XmlNamespaceManager(nt);
nsmgr.AddNamespace("rk", "urn:store-items");
// Create the XmlParserContext.
XmlParserContext context = new XmlParserContext(null, nsmgr, null, XmlSpace.None);
// Create the reader.
XmlReaderSettings settings = new XmlReaderSettings();
settings.ConformanceLevel = ConformanceLevel.Fragment;
XmlReader reader = XmlReader.Create(new StringReader(xmlFrag), settings, context);
Dim xmlFrag As String = "<item rk:ID='abc-23'>hammer</item> " & _
"<item rk:ID='r2-435'>paint</item>" & _
"<item rk:ID='abc-39'>saw</item>"
' Create the XmlNamespaceManager.
Dim nt As New NameTable()
Dim nsmgr As New XmlNamespaceManager(nt)
nsmgr.AddNamespace("rk", "urn:store-items")
' Create the XmlParserContext.
Dim context As New XmlParserContext(Nothing, nsmgr, Nothing, XmlSpace.None)
' Create the reader.
Dim settings As New XmlReaderSettings()
settings.ConformanceLevel = ConformanceLevel.Fragment
Dim reader As XmlReader = XmlReader.Create(New StringReader(xmlFrag), settings, context)
備註
根據預設, XmlUrlResolver 沒有認證的 會用來存取任何外部資源,例如文件類型定義 (DTD) 、實體、架構等等。
重要
從 .NET Framework 4.5.2 開始,不會提供預設值 XmlUrlResolver 。 如果您的解決方案是以 .NET Framework 4.5.2 或更新版本為目標,請使用 XmlReaderSettings.XmlResolver 屬性指定 XmlResolver 。
如果外部資源位於需要驗證的網路資源上,請使用 XmlReaderSettings.XmlResolver 屬性來指定 XmlResolver 具有必要認證的 。
重要
您可以使用下列其中一種方法來控制可存取的資源 XmlReader :
- 藉由將 XmlReader 屬性設為 XmlResolver 物件,限制 XmlSecureResolver 可以存取的資源。
-或-
- 藉由將 XmlReader 屬性設為 XmlResolver,來禁止
null
開啟外部資源。
建立 XmlReader 的物件會展開實體參考,並執行新行字元的 XML 正規化。
適用於
Create(Stream, XmlReaderSettings, XmlParserContext)
- 來源:
- XmlReader.cs
- 來源:
- XmlReader.cs
- 來源:
- XmlReader.cs
使用剖析用的指定資料流、設定和內容資訊,建立新的 XmlReader 執行個體。
public:
static System::Xml::XmlReader ^ Create(System::IO::Stream ^ input, System::Xml::XmlReaderSettings ^ settings, System::Xml::XmlParserContext ^ inputContext);
public static System.Xml.XmlReader Create (System.IO.Stream input, System.Xml.XmlReaderSettings settings, System.Xml.XmlParserContext inputContext);
public static System.Xml.XmlReader Create (System.IO.Stream input, System.Xml.XmlReaderSettings? settings, System.Xml.XmlParserContext? inputContext);
static member Create : System.IO.Stream * System.Xml.XmlReaderSettings * System.Xml.XmlParserContext -> System.Xml.XmlReader
Public Shared Function Create (input As Stream, settings As XmlReaderSettings, inputContext As XmlParserContext) As XmlReader
參數
- input
- Stream
包含 XML 資料的資料流。
XmlReader 會掃描資料流的前幾個位元組,以尋找位元組順序標記或其他編碼符號。 決定編碼後,會使用該編碼繼續讀取資料流,處理流程也會繼續將輸入剖析成 (Unicode) 字元的資料流。
- settings
- XmlReaderSettings
新 XmlReader 執行個體的設定。 這個值可以是 null
。
- inputContext
- XmlParserContext
剖析 XML 片段所需的內容資訊。 內容資訊可以包含要使用的 XmlNameTable、編碼方式、命名空間範圍、目前的 xml:lang
和 xml:space
範圍、基底 URI,以及文件類型定義。
這個值可以是 null
。
傳回
用以在資料流中讀取 XML 資料的物件。
例外狀況
input
值為 null
。
備註
根據預設, XmlUrlResolver 沒有認證的 會用來存取任何外部資源,例如文件類型定義 (DTD) 、實體、架構等等。
重要
從 .NET Framework 4.5.2 開始,不會提供預設值 XmlUrlResolver 。 如果您的解決方案是以 .NET Framework 4.5.2 或更新版本為目標,請使用 XmlReaderSettings.XmlResolver 屬性指定 XmlResolver 。
如果外部資源位於需要驗證的網路資源上,請使用 XmlReaderSettings.XmlResolver 屬性來指定 XmlResolver 具有必要認證的 。
重要
您可以使用下列其中一種方法來控制可存取的資源 XmlReader :
- 藉由將 XmlReader 屬性設為 XmlResolver 物件,限制 XmlSecureResolver 可以存取的資源。
-或-
- 藉由將 XmlReader 屬性設為 XmlResolver,來禁止
null
開啟外部資源。
建立 XmlReader 的物件會展開實體參考,並執行新行字元的 XML 正規化。
適用於
Create(Stream, XmlReaderSettings, String)
- 來源:
- XmlReader.cs
- 來源:
- XmlReader.cs
- 來源:
- XmlReader.cs
使用指定的資料流、基底 URI 和設定,建立新的 XmlReader 執行個體。
public:
static System::Xml::XmlReader ^ Create(System::IO::Stream ^ input, System::Xml::XmlReaderSettings ^ settings, System::String ^ baseUri);
public static System.Xml.XmlReader Create (System.IO.Stream input, System.Xml.XmlReaderSettings? settings, string? baseUri);
public static System.Xml.XmlReader Create (System.IO.Stream input, System.Xml.XmlReaderSettings settings, string baseUri);
static member Create : System.IO.Stream * System.Xml.XmlReaderSettings * string -> System.Xml.XmlReader
Public Shared Function Create (input As Stream, settings As XmlReaderSettings, baseUri As String) As XmlReader
參數
- input
- Stream
包含 XML 資料的資料流。
XmlReader 會掃描資料流的前幾個位元組,以尋找位元組順序標記或其他編碼符號。 決定編碼後,會使用該編碼繼續讀取資料流,處理流程也會繼續將輸入剖析成 (Unicode) 字元的資料流。
- settings
- XmlReaderSettings
新 XmlReader 執行個體的設定。 這個值可以是 null
。
- baseUri
- String
所讀取之實體或文件的基底 URI。 這個值可以是 null
。
安全性提示:系統會使用基底 URI 來解析 XML 文件的相對 URI。 請不要使用來自不受信任來源的基底 URI。
傳回
用以在資料流中讀取 XML 資料的物件。
例外狀況
input
值為 null
。
備註
根據預設, XmlUrlResolver 沒有認證的 會用來存取任何外部資源,例如文件類型定義 (DTD) 、實體、架構等等。
重要
從 .NET Framework 4.5.2 開始,不會提供預設值 XmlUrlResolver 。 如果您的解決方案是以 .NET Framework 4.5.2 或更新版本為目標,請使用 XmlReaderSettings.XmlResolver 屬性指定 XmlResolver 。
如果外部資源位於需要驗證的網路資源上,請使用 XmlReaderSettings.XmlResolver 屬性來指定 XmlResolver 具有必要認證的 。
重要
您可以使用下列其中一種方法來控制 可以存取的資源 XmlReader :
- 藉由將 XmlReader 屬性設為 XmlResolver 物件,限制 XmlSecureResolver 可以存取的資源。
-或-
- 藉由將 XmlReader 屬性設為 XmlResolver,來禁止
null
開啟外部資源。
建立 XmlReader 的物件會展開實體參考,並執行新行字元的 XML 正規化。
適用於
Create(XmlReader, XmlReaderSettings)
- 來源:
- XmlReader.cs
- 來源:
- XmlReader.cs
- 來源:
- XmlReader.cs
使用指定的 XML 讀取器和設定,建立新的 XmlReader 執行個體。
public:
static System::Xml::XmlReader ^ Create(System::Xml::XmlReader ^ reader, System::Xml::XmlReaderSettings ^ settings);
public static System.Xml.XmlReader Create (System.Xml.XmlReader reader, System.Xml.XmlReaderSettings settings);
public static System.Xml.XmlReader Create (System.Xml.XmlReader reader, System.Xml.XmlReaderSettings? settings);
static member Create : System.Xml.XmlReader * System.Xml.XmlReaderSettings -> System.Xml.XmlReader
Public Shared Function Create (reader As XmlReader, settings As XmlReaderSettings) As XmlReader
參數
- reader
- XmlReader
您想要當做底層 XML 讀取器使用的物件。
- settings
- XmlReaderSettings
新 XmlReader 執行個體的設定。
XmlReaderSettings 物件的一致性層級必須符合基礎讀取器的一致性層級,或是必須設定為 Auto。
傳回
包裝在指定 XmlReader 物件周圍的物件。
例外狀況
reader
值為 null
。
如果 XmlReaderSettings 物件所指定的一致性層級與基礎讀取器的一致性層級不一致。
-或-
範例
下列範例會建立包裝在 對象周圍的XmlNodeReader驗證XmlReader物件。
// Create the XmlNodeReader object.
XmlDocument doc = new XmlDocument();
doc.Load("books.xml");
XmlNodeReader nodeReader = new XmlNodeReader(doc);
// Set the validation settings.
XmlReaderSettings settings = new XmlReaderSettings();
settings.ValidationType = ValidationType.Schema;
settings.Schemas.Add("urn:bookstore-schema", "books.xsd");
settings.ValidationEventHandler += new ValidationEventHandler (ValidationCallBack);
// Create a validating reader that wraps the XmlNodeReader object.
XmlReader reader = XmlReader.Create(nodeReader, settings);
// Parse the XML file.
while (reader.Read());
' Create the XmlNodeReader object.
Dim doc As New XmlDocument()
doc.Load("books.xml")
Dim nodeReader As New XmlNodeReader(doc)
' Set the validation settings.
Dim settings As New XmlReaderSettings()
settings.ValidationType = ValidationType.Schema
settings.Schemas.Add("urn:bookstore-schema", "books.xsd")
AddHandler settings.ValidationEventHandler, AddressOf ValidationCallBack
' Create a validating reader that wraps the XmlNodeReader object.
Dim reader As XmlReader = XmlReader.Create(nodeReader, settings)
' Parse the XML file.
While reader.Read()
End While
備註
這個方法可讓您將其他功能新增至基礎 XmlReader 物件。 基礎XmlReader物件可以是 方法所Create建立的另一個XmlReaderXmlReader物件,或是使用其中一個具體XmlReader實作所建立的物件。
沒有認證的預設值 XmlUrlResolver 是用來存取任何外部資源,例如架構。
重要
從 .NET Framework 4.5.2 開始,不會提供預設值 XmlUrlResolver 。 如果您的解決方案是以 .NET Framework 4.5.2 或更新版本為目標,請使用 XmlReaderSettings.XmlResolver 屬性指定 XmlResolver 。
如果外部資源位於需要驗證的網路資源上,請使用 XmlReaderSettings.XmlResolver 屬性來指定XmlResolver具有必要認證的 。
重要
您可以使用下列其中一種方法來控制 可以存取的資源 XmlReader :
- 藉由將 XmlReader 屬性設為 XmlResolver 物件,限制 XmlSecureResolver 可以存取的資源。
-或-
- 藉由將 XmlReader 屬性設為 XmlResolver,來禁止
null
開啟外部資源。
建立 XmlReader 的物件會展開實體參考,並執行新行字元的 XML 正規化。
適用於
Create(TextReader, XmlReaderSettings, String)
- 來源:
- XmlReader.cs
- 來源:
- XmlReader.cs
- 來源:
- XmlReader.cs
使用指定的文字讀取器、設定和基底 URI,建立新的 XmlReader 執行個體。
public:
static System::Xml::XmlReader ^ Create(System::IO::TextReader ^ input, System::Xml::XmlReaderSettings ^ settings, System::String ^ baseUri);
public static System.Xml.XmlReader Create (System.IO.TextReader input, System.Xml.XmlReaderSettings? settings, string? baseUri);
public static System.Xml.XmlReader Create (System.IO.TextReader input, System.Xml.XmlReaderSettings settings, string baseUri);
static member Create : System.IO.TextReader * System.Xml.XmlReaderSettings * string -> System.Xml.XmlReader
Public Shared Function Create (input As TextReader, settings As XmlReaderSettings, baseUri As String) As XmlReader
參數
- input
- TextReader
要從中讀取 XML 資料的文字閱讀器。 因為文字閱讀器會傳回 Unicode 字元的資料流,所以 XmlReader 不會使用 XML 宣告中所指定的編碼方式將資料流解碼。
- settings
- XmlReaderSettings
新 XmlReader 執行個體的設定。 這個值可以是 null
。
- baseUri
- String
所讀取之實體或文件的基底 URI。 這個值可以是 null
。
安全性提示:系統會使用基底 URI 來解析 XML 文件的相對 URI。 請不要使用來自不受信任來源的基底 URI。
傳回
用以在資料流中讀取 XML 資料的物件。
例外狀況
input
值為 null
。
備註
根據預設, XmlUrlResolver 沒有認證的 會用來存取任何外部資源,例如文件類型定義 (DTD) 、實體、架構等等。
重要
從 .NET Framework 4.5.2 開始,不會提供預設值 XmlUrlResolver 。 如果您的解決方案是以 .NET Framework 4.5.2 或更新版本為目標,請使用 XmlReaderSettings.XmlResolver 屬性指定 XmlResolver 。
如果外部資源位於需要驗證的網路資源上,請使用 XmlReaderSettings.XmlResolver 屬性來指定 XmlResolver 具有必要認證的 。
重要
您可以使用下列其中一種方法來控制 可以存取的資源 XmlReader :
- 藉由將 XmlReader 屬性設為 XmlResolver 物件,限制 XmlSecureResolver 可以存取的資源。
-或-
- 藉由將 XmlReader 屬性設為 XmlResolver,來禁止
null
開啟外部資源。
建立 XmlReader 的物件會展開實體參考,並執行新行字元的 XML 正規化。
適用於
Create(TextReader, XmlReaderSettings)
- 來源:
- XmlReader.cs
- 來源:
- XmlReader.cs
- 來源:
- XmlReader.cs
使用指定的文字讀取器及設定,建立新的 XmlReader 執行個體。
public:
static System::Xml::XmlReader ^ Create(System::IO::TextReader ^ input, System::Xml::XmlReaderSettings ^ settings);
public static System.Xml.XmlReader Create (System.IO.TextReader input, System.Xml.XmlReaderSettings settings);
public static System.Xml.XmlReader Create (System.IO.TextReader input, System.Xml.XmlReaderSettings? settings);
static member Create : System.IO.TextReader * System.Xml.XmlReaderSettings -> System.Xml.XmlReader
Public Shared Function Create (input As TextReader, settings As XmlReaderSettings) As XmlReader
參數
- input
- TextReader
要從中讀取 XML 資料的文字閱讀器。 因為文字閱讀器會傳回 Unicode 字元的資料流,所以 XML 讀取器不會使用 XML 宣告中所指定的編碼方式,來解碼資料流。
- settings
- XmlReaderSettings
新的 XmlReader 的設定。 這個值可以是 null
。
傳回
用以在資料流中讀取 XML 資料的物件。
例外狀況
input
值為 null
。
備註
根據預設, XmlUrlResolver 沒有認證的 會用來存取任何外部資源,例如文件類型定義 (DTD) 、實體、架構等等。
重要
從 .NET Framework 4.5.2 開始,不會提供預設值 XmlUrlResolver 。 如果您的解決方案是以 .NET Framework 4.5.2 或更新版本為目標,請使用 XmlReaderSettings.XmlResolver 屬性指定 XmlResolver 。
如果外部資源位於需要驗證的網路資源上,請使用 XmlReaderSettings.XmlResolver 屬性來指定 XmlResolver 具有必要認證的 。
重要
您可以使用下列其中一種方法來控制 可以存取的資源 XmlReader :
- 藉由將 XmlReader 屬性設為 XmlResolver 物件,限制 XmlSecureResolver 可以存取的資源。
-或-
- 藉由將 XmlReader 屬性設為 XmlResolver,來禁止
null
開啟外部資源。
建立 XmlReader 的物件會展開實體參考,並執行新行字元的 XML 正規化。
適用於
Create(Stream, XmlReaderSettings)
- 來源:
- XmlReader.cs
- 來源:
- XmlReader.cs
- 來源:
- XmlReader.cs
使用指定的資料流及設定,建立新的 XmlReader。
public:
static System::Xml::XmlReader ^ Create(System::IO::Stream ^ input, System::Xml::XmlReaderSettings ^ settings);
public static System.Xml.XmlReader Create (System.IO.Stream input, System.Xml.XmlReaderSettings settings);
public static System.Xml.XmlReader Create (System.IO.Stream input, System.Xml.XmlReaderSettings? settings);
static member Create : System.IO.Stream * System.Xml.XmlReaderSettings -> System.Xml.XmlReader
Public Shared Function Create (input As Stream, settings As XmlReaderSettings) As XmlReader
參數
- input
- Stream
包含 XML 資料的資料流。
XmlReader 會掃描資料流的前幾個位元組,以尋找位元組順序標記或其他編碼符號。 決定編碼後,會使用該編碼繼續讀取資料流,處理流程也會繼續將輸入剖析成 (Unicode) 字元的資料流。
- settings
- XmlReaderSettings
新 XmlReader 執行個體的設定。 這個值可以是 null
。
傳回
用以在資料流中讀取 XML 資料的物件。
例外狀況
input
值為 null
。
備註
根據預設, XmlUrlResolver 沒有認證的 會用來存取任何外部資源,例如文件類型定義 (DTD) 、實體、架構等等。
重要
從 .NET Framework 4.5.2 開始,不會提供預設值 XmlUrlResolver 。 如果您的解決方案是以 .NET Framework 4.5.2 或更新版本為目標,請使用 XmlReaderSettings.XmlResolver 屬性指定 XmlResolver 。
如果外部資源位於需要驗證的網路資源上,請使用 XmlReaderSettings.XmlResolver 屬性來指定 XmlResolver 具有必要認證的 。
重要
您可以使用下列其中一種方法來控制 可以存取的資源 XmlReader :
- 藉由將 XmlReader 屬性設為 XmlResolver 物件,限制 XmlSecureResolver 可以存取的資源。
-或-
- 藉由將 XmlReader 屬性設為 XmlResolver,來禁止
null
開啟外部資源。
建立 XmlReader 的物件會展開實體參考,並執行新行字元的 XML 正規化。
適用於
Create(String)
- 來源:
- XmlReader.cs
- 來源:
- XmlReader.cs
- 來源:
- XmlReader.cs
使用指定的 URI,建立新的 XmlReader 執行個體。
public:
static System::Xml::XmlReader ^ Create(System::String ^ inputUri);
public static System.Xml.XmlReader Create (string inputUri);
static member Create : string -> System.Xml.XmlReader
Public Shared Function Create (inputUri As String) As XmlReader
參數
- inputUri
- String
包含 XML 資料之檔案的 URI。 XmlUrlResolver 類別可用來將路徑轉換成正式的資料代表。
傳回
用以在資料流中讀取 XML 資料的物件。
例外狀況
inputUri
值為 null
。
XmlReader 沒有足夠的權限可以存取 XML 資料的位置。
URI 所識別的檔案不存在。
範例
下列範例會 XmlReader 建立 物件,該物件會讀取 URI 所指定的 XML 數據檔。
// Create the XmlReader object.
XmlReader reader = XmlReader.Create("books.xml");
' Create the XmlReader object.
Dim reader As XmlReader = XmlReader.Create("books.xml")
備註
XmlReaderSettings具有預設設定的對像是用來建立讀取器。 如果您想要指定要在建立的讀取器上支援的功能,請使用接受 XmlReaderSettings 對象作為其中一個自變數的多載,並傳入 XmlReaderSettings 具有正確設定的物件。
沒有認證的預設值 XmlUrlResolver 會用來存取任何外部資源,例如檔類型定義 (DTD) 、實體、架構等等。
重要
從 .NET Framework 4.5.2 開始,不會提供預設值 XmlUrlResolver 。 如果您的解決方案是以 .NET Framework 4.5.2 或更新版本為目標,請使用 XmlReaderSettings.XmlResolver 屬性指定 XmlResolver 。
如果外部資源位於需要驗證的網路資源上,請使用 XmlReaderSettings.XmlResolver 屬性來指定XmlResolver具有必要認證的 。
建立 XmlReader 的物件會展開實體參考,並執行新行字元的 XML 正規化。
適用於
Create(TextReader)
- 來源:
- XmlReader.cs
- 來源:
- XmlReader.cs
- 來源:
- XmlReader.cs
使用指定的文字讀取器,建立新的 XmlReader 執行個體。
public:
static System::Xml::XmlReader ^ Create(System::IO::TextReader ^ input);
public static System.Xml.XmlReader Create (System.IO.TextReader input);
static member Create : System.IO.TextReader -> System.Xml.XmlReader
Public Shared Function Create (input As TextReader) As XmlReader
參數
- input
- TextReader
要從中讀取 XML 資料的文字閱讀器。 因為文字閱讀器會傳回 Unicode 字元的資料流,所以 XML 讀取器不會使用 XML 宣告中所指定的編碼方式,來解碼資料流。
傳回
用以在資料流中讀取 XML 資料的物件。
例外狀況
input
值為 null
。
範例
下列範例會 StringReader 使用 類別來讀取 XML 字串。
string xmlData ="<item productID='124390'>" +
"<price>5.95</price>" +
"</item>";
// Create the XmlReader object.
XmlReader reader = XmlReader.Create(new StringReader(xmlData));
Dim xmlData As String = "<item productID='124390'>" & _
"<price>5.95</price>" & _
"</item>"
' Create the XmlReader object.
Dim reader As XmlReader = XmlReader.Create(New StringReader(xmlData))
備註
XmlReaderSettings具有預設設定的對像是用來建立讀取器。 如果您想要指定要在建立的讀取器上支援的功能,請使用接受 XmlReaderSettings 對象作為其中一個自變數的多載,並傳入 XmlReaderSettings 具有正確設定的物件。
沒有認證的預設值 XmlUrlResolver 會用來存取任何外部資源,例如檔類型定義 (DTD) 、實體、架構等等。
重要
從 .NET Framework 4.5.2 開始,不會提供預設值 XmlUrlResolver 。 如果您的解決方案是以 .NET Framework 4.5.2 或更新版本為目標,請使用 XmlReaderSettings.XmlResolver 屬性指定 XmlResolver 。
如果外部資源位於需要驗證的網路資源上,請使用 XmlReaderSettings.XmlResolver 屬性來指定XmlResolver具有必要認證的 。
建立 XmlReader 的物件會展開實體參考,並執行新行字元的 XML 正規化。
適用於
Create(Stream)
- 來源:
- XmlReader.cs
- 來源:
- XmlReader.cs
- 來源:
- XmlReader.cs
使用指定的資料流,以預設設定建立新的 XmlReader 執行個體。
public:
static System::Xml::XmlReader ^ Create(System::IO::Stream ^ input);
public static System.Xml.XmlReader Create (System.IO.Stream input);
static member Create : System.IO.Stream -> System.Xml.XmlReader
Public Shared Function Create (input As Stream) As XmlReader
參數
- input
- Stream
包含 XML 資料的資料流。
XmlReader 會掃描資料流的前幾個位元組,以尋找位元組順序標記或其他編碼符號。 決定編碼後,會使用該編碼繼續讀取資料流,處理流程也會繼續將輸入剖析成 (Unicode) 字元的資料流。
傳回
用以在資料流中讀取 XML 資料的物件。
例外狀況
input
值為 null
。
XmlReader 沒有足夠的權限可以存取 XML 資料的位置。
範例
下列範例會 XmlReader 建立從 FileStream讀取的物件。
FileStream fs = new FileStream(@"C:\data\books.xml", FileMode.OpenOrCreate,
FileAccess.Read, FileShare.Read);
// Create the XmlReader object.
XmlReader reader = XmlReader.Create(fs);
Dim fs As New FileStream("C:\data\books.xml", FileMode.OpenOrCreate, FileAccess.Read, FileShare.Read)
' Create the XmlReader object.
Dim reader As XmlReader = XmlReader.Create(fs)
End Sub
備註
XmlReaderSettings具有預設設定的對像是用來建立讀取器。 如果您想要指定要在建立的讀取器上支援的功能,請使用接受 XmlReaderSettings 對象作為其中一個自變數的多載,並傳入 XmlReaderSettings 具有正確設定的物件。
沒有認證的預設值 XmlUrlResolver 會用來存取任何外部資源,例如檔類型定義 (DTD) 、實體、架構等等。
重要
從 .NET Framework 4.5.2 開始,不會提供預設值 XmlUrlResolver 。 如果您的解決方案是以 .NET Framework 4.5.2 或更新版本為目標,請使用 XmlReaderSettings.XmlResolver 屬性指定 XmlResolver 。
如果外部資源位於需要驗證的網路資源上,請使用 XmlReaderSettings.XmlResolver 屬性來指定XmlResolver具有必要認證的 。
建立 XmlReader 的物件會展開實體參考,並執行新行字元的 XML 正規化。
適用於
Create(String, XmlReaderSettings)
- 來源:
- XmlReader.cs
- 來源:
- XmlReader.cs
- 來源:
- XmlReader.cs
使用指定的 URI 和設定,建立新的 XmlReader 執行個體。
public:
static System::Xml::XmlReader ^ Create(System::String ^ inputUri, System::Xml::XmlReaderSettings ^ settings);
public static System.Xml.XmlReader Create (string inputUri, System.Xml.XmlReaderSettings settings);
public static System.Xml.XmlReader Create (string inputUri, System.Xml.XmlReaderSettings? settings);
static member Create : string * System.Xml.XmlReaderSettings -> System.Xml.XmlReader
Public Shared Function Create (inputUri As String, settings As XmlReaderSettings) As XmlReader
參數
- inputUri
- String
包含 XML 資料之檔案的 URI。
XmlReaderSettings 物件上的 XmlResolver 物件是用於將路徑轉換成標準資料表示。 如果 XmlResolver 為 null
,則會使用新的 XmlUrlResolver 物件。
- settings
- XmlReaderSettings
新 XmlReader 執行個體的設定。 這個值可以是 null
。
傳回
用以在資料流中讀取 XML 資料的物件。
例外狀況
inputUri
值為 null
。
找不到由 URI 指定的檔案。
範例
下列範例會 XmlReader 建立支援檔類型定義 (DTD) 驗證的物件。
// Set the validation settings.
XmlReaderSettings settings = new XmlReaderSettings();
settings.DtdProcessing = DtdProcessing.Parse;
settings.ValidationType = ValidationType.DTD;
settings.ValidationEventHandler += new ValidationEventHandler (ValidationCallBack);
// Create the XmlReader object.
XmlReader reader = XmlReader.Create("itemDTD.xml", settings);
// Parse the file.
while (reader.Read()) {}
' Set the validation settings.
Dim settings As New XmlReaderSettings()
settings.DtdProcessing = DtdProcessing.Parse
settings.ValidationType = ValidationType.DTD
AddHandler settings.ValidationEventHandler, AddressOf ValidationCallBack
' Create the XmlReader object.
Dim reader As XmlReader = XmlReader.Create("itemDTD.xml", settings)
' Parse the file.
While reader.Read()
End While
備註
根據預設, XmlUrlResolver 沒有認證的 會用來存取任何外部資源,例如文件類型定義 (DTD) 、實體、架構等等。
重要
從 .NET Framework 4.5.2 開始,不會提供預設值 XmlUrlResolver 。 如果您的解決方案是以 .NET Framework 4.5.2 或更新版本為目標,請使用 XmlReaderSettings.XmlResolver 屬性指定 XmlResolver 。
這表示 XmlReader 可以存取不需要驗證的任何位置。 如果外部資源位於需要驗證的網路資源上,請使用 XmlReaderSettings.XmlResolver 屬性來指定 XmlResolver 具有必要認證的 。
重要
您可以將 屬性設定XmlResolver為 XmlSecureResolver 物件,以限制 可以存取的資源XmlReader。
建立 XmlReader 的物件會展開實體參考,並執行新行字元的 XML 正規化。