XmlReader.Create 方法
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
建立新的 XmlReader 實例。
多載
| 名稱 | Description |
|---|---|
| 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) |
建立 XmlReader 一個帶有指定 URI 的新實例。 |
| Create(TextReader) |
使用指定的文字閱讀器建立新 XmlReader 實例。 |
| Create(Stream) |
用指定的串流以預設設定建立一個新 XmlReader 實例。 |
| Create(String, XmlReaderSettings) |
使用指定的 URI 和設定建立一個新 XmlReader 實例。 |
範例
此範例會建立一個 XML 讀取器,以去除不重要的空白、刪除註解,並執行片段階段一致性檢查。
XmlReaderSettings settings = new XmlReaderSettings();
settings.ConformanceLevel = ConformanceLevel.Fragment;
settings.IgnoreWhitespace = true;
settings.IgnoreComments = true;
XmlReader reader = XmlReader.Create("books.xml", settings);
Dim settings As New XmlReaderSettings()
settings.ConformanceLevel = ConformanceLevel.Fragment
settings.IgnoreWhitespace = true
settings.IgnoreComments = true
Dim reader As XmlReader = XmlReader.Create("books.xml", settings)
下列範例使用具有預設認證的 XmlUrlResolver 來存取檔案。
// Set the reader settings.
XmlReaderSettings settings = new XmlReaderSettings();
settings.IgnoreComments = true;
settings.IgnoreProcessingInstructions = true;
settings.IgnoreWhitespace = true;
' Set the reader settings.
Dim settings as XmlReaderSettings = new XmlReaderSettings()
settings.IgnoreComments = true
settings.IgnoreProcessingInstructions = true
settings.IgnoreWhitespace = true
// Create a resolver with default credentials.
XmlUrlResolver resolver = new XmlUrlResolver();
resolver.Credentials = System.Net.CredentialCache.DefaultCredentials;
// Set the reader settings object to use the resolver.
settings.XmlResolver = resolver;
// Create the XmlReader object.
XmlReader reader = XmlReader.Create("http://ServerName/data/books.xml", settings);
' Create a resolver with default credentials.
Dim resolver as XmlUrlResolver = new XmlUrlResolver()
resolver.Credentials = System.Net.CredentialCache.DefaultCredentials
' Set the reader settings object to use the resolver.
settings.XmlResolver = resolver
' Create the XmlReader object.
Dim reader as XmlReader = XmlReader.Create("http://ServerName/data/books.xml", settings)
下列程式代碼會將讀取器實例包裝在另一個讀取器內。
XmlTextReader txtReader = new XmlTextReader("bookOrder.xml");
XmlReaderSettings settings = new XmlReaderSettings();
settings.Schemas.Add("urn:po-schema", "PO.xsd");
settings.ValidationType = ValidationType.Schema;
XmlReader reader = XmlReader.Create(txtReader, settings);
Dim txtReader As XmlTextReader = New XmlTextReader("bookOrder.xml")
Dim settings As New XmlReaderSettings()
settings.Schemas.Add("urn:po-schema", "PO.xsd")
settings.ValidationType = ValidationType.Schema
Dim reader As XmlReader = XmlReader.Create(txtReader, settings)
此範例會鏈結讀取器以新增 DTD 和 XML 架構驗證。
XmlReaderSettings settings = new XmlReaderSettings();
settings.ValidationType = ValidationType.DTD;
XmlReader inner = XmlReader.Create("book.xml", settings); // DTD Validation
settings.Schemas.Add("urn:book-schema", "book.xsd");
settings.ValidationType = ValidationType.Schema;
XmlReader outer = XmlReader.Create(inner, settings); // XML Schema Validation
Dim settings As New XmlReaderSettings()
settings.ValidationType = ValidationType.DTD
Dim inner As XmlReader = XmlReader.Create("book.xml", settings) ' DTD Validation
settings.Schemas.Add("urn:book-schema", "book.xsd")
settings.ValidationType = ValidationType.Schema
Dim outer As XmlReader = XmlReader.Create(inner, settings) ' XML Schema Validation
備註
大部分的 Create 重載都包含一個 settings 參數,該參數接受 XmlReaderSettings 對象。 您可以使用這個物件來:
- 指定您想要在 XmlReader 物件上支援哪些功能。
- 重複使用XmlReaderSettings物件來建立多個讀取器。 您可以使用相同的設定來建立具有相同功能的多個讀取器。 或者,您可以修改 實例上的 XmlReaderSettings 設定,並使用一組不同的功能來建立新的讀取器。
- 將功能新增至現有的 XML 讀取器。 方法 Create 可以接受另一個 XmlReader 物件。 基礎 XmlReader 物件可以是使用者定義的讀取器、 XmlTextReader 物件,或您想要新增其他功能的另一個 XmlReader 實例。
- 充分利用 XML 1.0(第四版) 建議的更佳一致性檢查和合規性等功能,這些建議僅適用於 XmlReader 靜態 Create 方法所建立的物件。
Note
雖然 .NET 包含 類別的具體實XmlReader作,例如 XmlTextReader、 XmlNodeReader和 XmlValidatingReader 類別,但建議您使用 XmlReader 方法建立Create實例。
預設設定
如果您使用 Create 不接受 XmlReaderSettings 物件的多載,則會使用下列預設讀取器設定:
| 設定 | 預設值 |
|---|---|
| CheckCharacters | true |
| ConformanceLevel | ConformanceLevel.Document |
| IgnoreComments | false |
| IgnoreProcessingInstructions | false |
| IgnoreWhitespace | false |
| LineNumberOffset | 0 |
| LinePositionOffset | 0 |
| NameTable | null |
| DtdProcessing | Prohibit |
| Schemas | 空白 XmlSchemaSet 物件 |
| ValidationFlags | ProcessIdentityConstraints 啟用 |
| ValidationType | None |
| XmlResolver | null |
適用於常見案例的設定
以下是 XmlReaderSettings 您應該為一些一般 XML 讀取器案例設定的屬性。
| 需求 | Set |
|---|---|
| 數據必須是格式正確的 XML 檔。 | ConformanceLevel 至 Document。 |
| 數據必須是格式正確的 XML 剖析實體。 | ConformanceLevel 至 Fragment。 |
| 數據必須針對 DTD 進行驗證。 |
DtdProcessing 到 Parse ValidationType 至 DTD。 |
| 數據必須根據 XML 架構進行驗證。 |
ValidationType 到 Schema 使用Schemas和XmlSchemaSet進行驗證。 請注意, XmlReader 不支援 XML-Data 縮減 (XDR) 架構驗證。 |
| 數據必須根據內嵌 XML 架構進行驗證。 |
ValidationType 到 Schema ValidationFlags 至 ProcessInlineSchema。 |
| 打字支援。 |
ValidationType 到 Schema Schemas XmlSchemaSet去使用。 |
XmlReader 不支援 XML-Data 縮減 (XDR) 架構驗證。
非同步程式設計
在同步模式中,方法 Create 會從檔案、數據流或文字讀取器的緩衝區讀取第一個數據區塊。 如果 I/O 作業失敗,這可能會拋出例外。 在非同步模式中,第一次 I/O 作業是讀取作業,因此在讀取作業發生時,會拋出例外狀況。
安全性考慮
根據預設,XmlReader 會使用 XmlUrlResolver 物件,其中沒有使用者認證來開啟資源。 這表示 XML 讀取器預設可以存取不需要認證的任何位置。 XmlResolver使用 屬性來控制資源的存取:
- 用 ThrowingResolver 來限制 XML 閱讀器可存取的資源,或是......
- 設定 XmlResolver 為
null以防止 XML 讀取器開啟任何外部資源。
Create(String, XmlReaderSettings, XmlParserContext)
- 來源:
- XmlReader.cs
- 來源:
- XmlReader.cs
- 來源:
- 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。
XmlResolver物件上的XmlReaderSettings物件用來將路徑轉換成標準資料表示。 若 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)、實體、結構等。
Important
從 .NET Framework 4.5.2 開始,不再提供預設 XmlUrlResolver 設定。 如果你的解決方案目標是 .NET Framework 4.5.2 或更新版本,請指定 使用 XmlResolver 這個 XmlReaderSettings.XmlResolver 屬性。
這表示他們 XmlReader 可以存取任何不需要驗證的地點。 如果外部資源位於需要認證的網路資源上,請使用 XmlReaderSettings.XmlResolver 屬性指定 a XmlResolver 並具備必要的憑證。
Important
你可以透過使用 XmlReader限制他們ThrowingResolver能存取的資源。
所建立 XmlReader 的物件會擴展實體參考,並對新行字元進行 XML 正規化。
適用於
Create(TextReader, XmlReaderSettings, XmlParserContext)
- 來源:
- XmlReader.cs
- 來源:
- XmlReader.cs
- 來源:
- 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)、實體、結構等。
Important
從 .NET Framework 4.5.2 開始,不再提供預設 XmlUrlResolver 設定。 如果你的解決方案目標是 .NET Framework 4.5.2 或更新版本,請指定 使用 XmlResolver 這個 XmlReaderSettings.XmlResolver 屬性。
如果外部資源位於需要認證的網路資源上,請使用 XmlReaderSettings.XmlResolver 屬性指定 a XmlResolver 並具備必要的憑證。
Important
你可以使用以下方法之一來控制他們 XmlReader 能存取哪些資源:
- 限制他們 XmlReader 可存取的資源,方法是使用 ThrowingResolver。
- 不允許 XmlReader 藉由將 XmlResolver 屬性設定為
null來開啟任何外部資源。
所建立 XmlReader 的物件會擴展實體參考,並對新行字元進行 XML 正規化。
適用於
Create(Stream, XmlReaderSettings, XmlParserContext)
- 來源:
- XmlReader.cs
- 來源:
- XmlReader.cs
- 來源:
- 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)、實體、結構等。
Important
從 .NET Framework 4.5.2 開始,不再提供預設 XmlUrlResolver 設定。 如果你的解決方案目標是 .NET Framework 4.5.2 或更新版本,請指定 使用 XmlResolver 這個 XmlReaderSettings.XmlResolver 屬性。
如果外部資源位於需要認證的網路資源上,請使用 XmlReaderSettings.XmlResolver 屬性指定 a XmlResolver 並具備必要的憑證。
Important
你可以使用以下方法之一來控制他們 XmlReader 能存取哪些資源:
- 限制他們 XmlReader 可存取的資源,方法是使用 ThrowingResolver。
- 不允許 XmlReader 藉由將 XmlResolver 屬性設定為
null來開啟任何外部資源。
所建立 XmlReader 的物件會擴展實體參考,並對新行字元進行 XML 正規化。
適用於
Create(Stream, XmlReaderSettings, String)
- 來源:
- XmlReader.cs
- 來源:
- XmlReader.cs
- 來源:
- 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。
傳回
一個用來讀取串流中 XML 資料的物件。
例外狀況
input 值是 null。
備註
預設情況下,使用無憑證的 存取 XmlUrlResolver 任何外部資源,例如文件類型定義(DTD)、實體、結構等。
Important
從 .NET Framework 4.5.2 開始,不再提供預設 XmlUrlResolver 設定。 如果你的解決方案目標是 .NET Framework 4.5.2 或更新版本,請指定 使用 XmlResolver 這個 XmlReaderSettings.XmlResolver 屬性。
如果外部資源位於需要認證的網路資源上,請使用 XmlReaderSettings.XmlResolver 屬性指定 a XmlResolver 並具備必要的憑證。
Important
你可以使用以下方法之一來控制他們 XmlReader 能存取哪些資源:
- 限制他們 XmlReader 可存取的資源,方法是使用 ThrowingResolver。
- 不允許 XmlReader 藉由將 XmlResolver 屬性設定為
null來開啟任何外部資源。
所建立 XmlReader 的物件會擴展實體參考,並對新行字元進行 XML 正規化。
適用於
Create(XmlReader, XmlReaderSettings)
- 來源:
- XmlReader.cs
- 來源:
- XmlReader.cs
- 來源:
- 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 物件指定與底層讀取器的符合等級不一致,
-或-
範例
以下範例建立一個包裹在物件XmlReader周圍的驗證XmlNodeReader物件。
// 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物件可以是方法所建立XmlReader的另一個Create物件,或XmlReader是使用具體XmlReader實作所建立的物件。
預設且 XmlUrlResolver 無憑證時會用來存取任何外部資源,例如架構。
Important
從 .NET Framework 4.5.2 開始,不再提供預設 XmlUrlResolver 設定。 如果你的解決方案目標是 .NET Framework 4.5.2 或更新版本,請指定 使用 XmlResolver 這個 XmlReaderSettings.XmlResolver 屬性。
如果外部資源位於需要認證的網路資源上,請利用該XmlResolver屬性指定XmlReaderSettings.XmlResolver一個具備必要憑證的 。
Important
你可以使用以下方法之一來控制他們 XmlReader 能存取哪些資源:
- 限制他們 XmlReader 可存取的資源,方法是使用 ThrowingResolver。
- 不允許 XmlReader 藉由將 XmlResolver 屬性設定為
null來開啟任何外部資源。
所建立 XmlReader 的物件會擴展實體參考,並對新行字元進行 XML 正規化。
適用於
Create(TextReader, XmlReaderSettings, String)
- 來源:
- XmlReader.cs
- 來源:
- XmlReader.cs
- 來源:
- 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 字元,因此 XML XmlReader 宣告中指定的編碼不會被用來解碼資料流。
- settings
- XmlReaderSettings
新實例的設定 XmlReader 。 這個值可以是 null。
傳回
一個用來讀取串流中 XML 資料的物件。
例外狀況
input 值是 null。
備註
預設情況下,使用無憑證的 存取 XmlUrlResolver 任何外部資源,例如文件類型定義(DTD)、實體、結構等。
Important
從 .NET Framework 4.5.2 開始,不再提供預設 XmlUrlResolver 設定。 如果你的解決方案目標是 .NET Framework 4.5.2 或更新版本,請指定 使用 XmlResolver 這個 XmlReaderSettings.XmlResolver 屬性。
如果外部資源位於需要認證的網路資源上,請使用 XmlReaderSettings.XmlResolver 屬性指定 a XmlResolver 並具備必要的憑證。
Important
你可以使用以下方法之一來控制他們 XmlReader 能存取哪些資源:
- 限制他們 XmlReader 可存取的資源,方法是使用 ThrowingResolver。
- 不允許 XmlReader 藉由將 XmlResolver 屬性設定為
null來開啟任何外部資源。
所建立 XmlReader 的物件會擴展實體參考,並對新行字元進行 XML 正規化。
適用於
Create(TextReader, XmlReaderSettings)
- 來源:
- XmlReader.cs
- 來源:
- XmlReader.cs
- 來源:
- 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)、實體、結構等。
Important
從 .NET Framework 4.5.2 開始,不再提供預設 XmlUrlResolver 設定。 如果你的解決方案目標是 .NET Framework 4.5.2 或更新版本,請指定 使用 XmlResolver 這個 XmlReaderSettings.XmlResolver 屬性。
如果外部資源位於需要認證的網路資源上,請使用 XmlReaderSettings.XmlResolver 屬性指定 a XmlResolver 並具備必要的憑證。
Important
你可以使用以下方法之一來控制他們 XmlReader 能存取哪些資源:
- 限制他們 XmlReader 可存取的資源,方法是使用 ThrowingResolver。
- 不允許 XmlReader 藉由將 XmlResolver 屬性設定為
null來開啟任何外部資源。
所建立 XmlReader 的物件會擴展實體參考,並對新行字元進行 XML 正規化。
適用於
Create(Stream, XmlReaderSettings)
- 來源:
- XmlReader.cs
- 來源:
- XmlReader.cs
- 來源:
- 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)、實體、結構等。
Important
從 .NET Framework 4.5.2 開始,不再提供預設 XmlUrlResolver 設定。 如果你的解決方案目標是 .NET Framework 4.5.2 或更新版本,請指定 使用 XmlResolver 這個 XmlReaderSettings.XmlResolver 屬性。
如果外部資源位於需要認證的網路資源上,請使用 XmlReaderSettings.XmlResolver 屬性指定 a XmlResolver 並具備必要的憑證。
Important
你可以使用以下方法之一來控制他們 XmlReader 能存取哪些資源:
- 限制他們 XmlReader 可存取的資源,方法是使用 ThrowingResolver。
- 不允許 XmlReader 藉由將 XmlResolver 屬性設定為
null來開啟任何外部資源。
所建立 XmlReader 的物件會擴展實體參考,並對新行字元進行 XML 正規化。
適用於
Create(String)
- 來源:
- XmlReader.cs
- 來源:
- XmlReader.cs
- 來源:
- XmlReader.cs
- 來源:
- XmlReader.cs
- 來源:
- XmlReader.cs
建立 XmlReader 一個帶有指定 URI 的新實例。
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 所識別的檔案不存在。
URI 格式不正確。
注意:在.NET中,對於Windows Store 應用程式或Portable Class Library,請選擇基底類別例外,FormatException。
範例
以下範例建立 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)、實體、結構等。
Important
從 .NET Framework 4.5.2 開始,不再提供預設 XmlUrlResolver 設定。 如果你的解決方案目標是 .NET Framework 4.5.2 或更新版本,請指定 使用 XmlResolver 這個 XmlReaderSettings.XmlResolver 屬性。
如果外部資源位於需要認證的網路資源上,請利用該XmlResolver屬性指定XmlReaderSettings.XmlResolver一個具備必要憑證的 。
所建立 XmlReader 的物件會擴展實體參考,並對新行字元進行 XML 正規化。
適用於
Create(TextReader)
- 來源:
- XmlReader.cs
- 來源:
- XmlReader.cs
- 來源:
- 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)、實體、結構等。
Important
從 .NET Framework 4.5.2 開始,不再提供預設 XmlUrlResolver 設定。 如果你的解決方案目標是 .NET Framework 4.5.2 或更新版本,請指定 使用 XmlResolver 這個 XmlReaderSettings.XmlResolver 屬性。
如果外部資源位於需要認證的網路資源上,請利用該XmlResolver屬性指定XmlReaderSettings.XmlResolver一個具備必要憑證的 。
所建立 XmlReader 的物件會擴展實體參考,並對新行字元進行 XML 正規化。
適用於
Create(Stream)
- 來源:
- XmlReader.cs
- 來源:
- XmlReader.cs
- 來源:
- 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)、實體、結構等。
Important
從 .NET Framework 4.5.2 開始,不再提供預設 XmlUrlResolver 設定。 如果你的解決方案目標是 .NET Framework 4.5.2 或更新版本,請指定 使用 XmlResolver 這個 XmlReaderSettings.XmlResolver 屬性。
如果外部資源位於需要認證的網路資源上,請利用該XmlResolver屬性指定XmlReaderSettings.XmlResolver一個具備必要憑證的 。
所建立 XmlReader 的物件會擴展實體參考,並對新行字元進行 XML 正規化。
適用於
Create(String, XmlReaderSettings)
- 來源:
- XmlReader.cs
- 來源:
- XmlReader.cs
- 來源:
- 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。
XmlResolver物件上的XmlReaderSettings物件用來將路徑轉換成標準資料表示。 若 XmlResolver 是 null,則使用一個新的 XmlUrlResolver 物件。
- settings
- XmlReaderSettings
新實例的設定 XmlReader 。 這個值可以是 null。
傳回
一個用來讀取串流中 XML 資料的物件。
例外狀況
inputUri 值是 null。
URI 指定的檔案無法找到。
URI 格式不正確。
注意:在.NET中,對於Windows Store 應用程式或Portable Class Library,請選擇基底類別例外,FormatException。
範例
以下範例建立 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)、實體、結構等。
Important
從 .NET Framework 4.5.2 開始,不再提供預設 XmlUrlResolver 設定。 如果你的解決方案目標是 .NET Framework 4.5.2 或更新版本,請指定 使用 XmlResolver 這個 XmlReaderSettings.XmlResolver 屬性。
這表示他們 XmlReader 可以存取任何不需要驗證的地點。 如果外部資源位於需要認證的網路資源上,請使用 XmlReaderSettings.XmlResolver 屬性指定 a XmlResolver 並具備必要的憑證。
Important
你可以透過使用 XmlReader限制他們ThrowingResolver能存取的資源。
所建立 XmlReader 的物件會擴展實體參考,並對新行字元進行 XML 正規化。