XmlReader.Create メソッド

定義

新しい 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 インスタンスを作成します。

この例では、意味のない空白を除去し、コメントを取り除き、フラグメントレベルの一致チェックを実行する 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 = gcnew XmlReaderSettings;
settings->IgnoreComments = true;
settings->IgnoreProcessingInstructions = true;
settings->IgnoreWhitespace = true;
// 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 = gcnew 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( L"http://ServerName/data/books.xml", settings );
// 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 (第4版) 勧告に準拠の確認や準拠などの機能を十分に活用し XmlReader Create ます。

注意

.NET Framework には、クラス、クラス、クラスなど、クラスの具象実装が含まれていますが、メソッドを使用してインスタンスを作成することをお XmlReader XmlTextReader 勧めし XmlNodeReader XmlValidatingReader XmlReader Create ます。

既定の設定

Createオブジェクトを受け入れないオーバーロードを使用する場合は XmlReaderSettings 、次の既定のリーダー設定が使用されます。

設定 Default
CheckCharacters true
ConformanceLevel ConformanceLevel.Document
IgnoreComments false
IgnoreProcessingInstructions false
IgnoreWhitespace false
LineNumberOffset 0
LinePositionOffset 0
NameTable null
DtdProcessing Prohibit
Schemas 空の XmlSchemaSet オブジェクト
ValidationFlags ProcessIdentityConstraints enabled
ValidationType None
XmlResolver 新しい XmlUrlResolver オブジェクト。 .NET Framework 4.5.2 以降では、この設定の既定値は null です。

一般的なシナリオの設定

いくつかの一般的な XML リーダーのシナリオでは、次の XmlReaderSettings プロパティを設定する必要があります。

要件 オン
データは、整形式の XML ドキュメントである必要があります。 ConformanceLevel から Document
データは、整形式の XML で解析されたエンティティである必要があります。 ConformanceLevel から Fragment
データは DTD に対して検証する必要があります。 DtdProcessingParse
ValidationType から DTD
XML スキーマに対してデータを検証する必要があります。 ValidationTypeSchema
Schemas 検証に XmlSchemaSet 使用する。 は XmlReader XML-Data 削減 (XDR) スキーマ検証をサポートしていないことに注意してください。
インライン XML スキーマに対してデータを検証する必要があります。 ValidationTypeSchema
ValidationFlags から ProcessInlineSchema
型のサポート。 ValidationTypeSchema
SchemasXmlSchemaSet 使用するには。

XmlReader では、XML-Data 削減 (XDR) スキーマ検証はサポートされていません。

非同期プログラミング

同期モードでは、 Create メソッドは、ファイル、ストリーム、またはテキストリーダーのバッファーからデータの最初のチャンクを読み取ります。 I/o 操作が失敗した場合は、例外がスローされることがあります。 非同期モードでは、最初の i/o 操作が読み取り操作で発生します。そのため、読み取り操作が行われると、発生した例外がスローされます。

セキュリティの考慮事項

既定では、は、 XmlReader XmlUrlResolver リソースを開くためにユーザー資格情報のないオブジェクトを使用します。 つまり、既定では、XML リーダーは、資格情報を必要としない任意の場所にアクセスできます。 XmlResolverリソースへのアクセスを制御するには、プロパティを使用します。

  • XmlResolver XmlSecureResolver XML リーダーがアクセスできるリソースを制限するために、オブジェクトに設定します。

  • または -

  • XmlResolver null XML リーダーが外部リソースを開けないようにするには、をに設定します。

Create(String, XmlReaderSettings, XmlParserContext)

指定された 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 オブジェクトは、パスを正規データ形式に変換するときに使用されます。 XmlResolvernull の場合は、新しい XmlUrlResolver オブジェクトが使用されます。

settings
XmlReaderSettings

新しい XmlReader インスタンスの設定。 この値は、null の場合もあります。

inputContext
XmlParserContext

XML フラグメントの解析に必要なコンテキスト情報。 コンテキスト情報には、使用する XmlNameTable、エンコーディング、名前空間スコープ、現在の xml:langxml:space のスコープ、ベース URI、およびドキュメント型定義を格納できます。

この値は、null の場合もあります。

戻り値

XmlReader

ストリーム内の XML データの読み取りに使用するオブジェクト。

例外

inputUri 値は null です。

XmlReader には、XML データの場所にアクセスするための十分なアクセス許可がありません。

NameTable プロパティと NameTable プロパティの両方に値が含まれています。 (これらの NameTable プロパティの 1 つのみを設定して使用できます。)

URI で指定したファイルが見つかりません。

URI の形式が正しくありません。

注釈

既定では、資格情報を持つ は、ドキュメント型定義 (DTD)、エンティティ、スキーマなどの外部リソースにアクセスするために XmlUrlResolver 使用されます。

重要

4.5.2 .NET Framework、既定値は XmlUrlResolver 指定されません。 ソリューションが 4.5.2 .NET Framework以降のバージョンを対象とする場合は、 プロパティを使用 XmlResolver して を指定 XmlReaderSettings.XmlResolver します。

つまり、 は XmlReader 、認証を必要としない任意の場所にアクセスできます。 外部リソースが認証を必要とするネットワーク リソースにある場合は、 プロパティを使用して、必要な資格情報を持つ XmlReaderSettings.XmlResolver XmlResolver を指定します。

重要

にアクセスできるリソースを XmlReader 制限するには、 プロパティを XmlResolver オブジェクトに設定 XmlSecureResolver します。

作成された XmlReader オブジェクトは、エンティティ参照を展開し、新しい行文字の XML 正規化を実行します。

適用対象

Create(TextReader, XmlReaderSettings, XmlParserContext)

指定したテキスト リーダー、設定、および解析するためのコンテキスト情報を使用して、新しい 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:langxml:space のスコープ、ベース URI、およびドキュメント型定義を格納できます。

この値は、null の場合もあります。

戻り値

XmlReader

ストリーム内の XML データの読み取りに使用するオブジェクト。

例外

input 値は null です。

NameTable プロパティと NameTable プロパティの両方に値が含まれています。 (これらの NameTable プロパティの 1 つのみを設定して使用できます。)

次の例では、 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 以降のバージョンを対象としている場合は、 XmlResolver プロパティを使用してを指定し XmlReaderSettings.XmlResolver ます。

外部リソースが認証を必要とするネットワークリソースに配置されている場合は、プロパティを使用して、 XmlReaderSettings.XmlResolver XmlResolver 必要な資格情報を持つを指定します。

重要

次のいずれかの方法を使用して、がアクセスできるリソースを制御でき XmlReader ます。

  • XmlReader プロパティを XmlResolver オブジェクトに設定することによって、XmlSecureResolver がアクセスできるリソースを制限します。

  • または -

  • XmlReader プロパティを XmlResolver に設定することにより、null が外部リソースを開けないようにする。

作成されたオブジェクトは、 XmlReader エンティティ参照を展開し、改行文字の XML 正規化を実行します。

適用対象

Create(Stream, XmlReaderSettings, XmlParserContext)

解析のために指定されたストリーム、設定、およびコンテキスト情報を使用して、新しい 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:langxml:space のスコープ、ベース URI、およびドキュメント型定義を格納できます。

この値は、null の場合もあります。

戻り値

XmlReader

ストリーム内の XML データの読み取りに使用するオブジェクト。

例外

input 値は null です。

注釈

既定で XmlUrlResolver は、資格情報なしのは、ドキュメント型定義 (DTD)、エンティティ、スキーマなどの外部リソースへのアクセスに使用されます。

重要

.NET Framework 4.5.2 以降では、既定値は指定されていません XmlUrlResolver 。 ソリューションが .NET Framework 4.5.2 以降のバージョンを対象としている場合は、 XmlResolver プロパティを使用してを指定し XmlReaderSettings.XmlResolver ます。

外部リソースが認証を必要とするネットワークリソースに配置されている場合は、プロパティを使用して、 XmlReaderSettings.XmlResolver XmlResolver 必要な資格情報を持つを指定します。

重要

次のいずれかの方法を使用して、がアクセスできるリソースを制御でき XmlReader ます。

  • XmlReader プロパティを XmlResolver オブジェクトに設定することによって、XmlSecureResolver がアクセスできるリソースを制限します。

  • または -

  • XmlReader プロパティを XmlResolver に設定することにより、null が外部リソースを開けないようにする。

作成されたオブジェクトは、 XmlReader エンティティ参照を展開し、改行文字の XML 正規化を実行します。

適用対象

Create(Stream, XmlReaderSettings, String)

指定されたストリーム、ベース 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 を使用することは避けてください。

戻り値

XmlReader

ストリーム内の XML データの読み取りに使用するオブジェクト。

例外

input 値は null です。

注釈

既定で XmlUrlResolver は、資格情報なしのは、ドキュメント型定義 (DTD)、エンティティ、スキーマなどの外部リソースへのアクセスに使用されます。

重要

.NET Framework 4.5.2 以降では、既定値は指定されていません XmlUrlResolver 。 ソリューションが .NET Framework 4.5.2 以降のバージョンを対象としている場合は、 XmlResolver プロパティを使用してを指定し XmlReaderSettings.XmlResolver ます。

外部リソースが認証を必要とするネットワークリソースに配置されている場合は、プロパティを使用して、 XmlReaderSettings.XmlResolver XmlResolver 必要な資格情報を持つを指定します。

重要

次のいずれかの方法を使用して、がアクセスできるリソースを制御でき XmlReader ます。

  • XmlReader プロパティを XmlResolver オブジェクトに設定することによって、XmlSecureResolver がアクセスできるリソースを制限します。

  • または -

  • XmlReader プロパティを XmlResolver に設定することにより、null が外部リソースを開けないようにする。

作成されたオブジェクトは、 XmlReader エンティティ参照を展開し、改行文字の XML 正規化を実行します。

適用対象

Create(XmlReader, XmlReaderSettings)

指定された 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

指定された 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 具象実装の1つを使用して作成されたオブジェクトでもかまい XmlReader ません。

XmlUrlResolver資格情報なしの既定値は、スキーマなどの外部リソースへのアクセスに使用されます。

重要

.NET Framework 4.5.2 以降では、既定値は指定されていません XmlUrlResolver 。 ソリューションが .NET Framework 4.5.2 以降のバージョンを対象としている場合は、 XmlResolver プロパティを使用してを指定し XmlReaderSettings.XmlResolver ます。

外部リソースが認証を必要とするネットワークリソースに配置されている場合は、 XmlResolver プロパティを使用して、必要な資格情報を持つを指定し XmlReaderSettings.XmlResolver ます。

重要

次のいずれかの方法を使用して、がアクセスできるリソースを制御でき XmlReader ます。

  • XmlReader プロパティを XmlResolver オブジェクトに設定することによって、XmlSecureResolver がアクセスできるリソースを制限します。

  • または -

  • XmlReader プロパティを XmlResolver に設定することにより、null が外部リソースを開けないようにする。

作成されたオブジェクトは、 XmlReader エンティティ参照を展開し、改行文字の XML 正規化を実行します。

適用対象

Create(TextReader, XmlReaderSettings, String)

指定されたテキスト リーダー、設定、およびベース 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 を使用することは避けてください。

戻り値

XmlReader

ストリーム内の XML データの読み取りに使用するオブジェクト。

例外

input 値は null です。

注釈

既定で XmlUrlResolver は、資格情報なしのは、ドキュメント型定義 (DTD)、エンティティ、スキーマなどの外部リソースへのアクセスに使用されます。

重要

.NET Framework 4.5.2 以降では、既定値は指定されていません XmlUrlResolver 。 ソリューションが .NET Framework 4.5.2 以降のバージョンを対象としている場合は、 XmlResolver プロパティを使用してを指定し XmlReaderSettings.XmlResolver ます。

外部リソースが認証を必要とするネットワークリソースに配置されている場合は、プロパティを使用して、 XmlReaderSettings.XmlResolver XmlResolver 必要な資格情報を持つを指定します。

重要

次のいずれかの方法を使用して、がアクセスできるリソースを制御でき XmlReader ます。

  • XmlReader プロパティを XmlResolver オブジェクトに設定することによって、XmlSecureResolver がアクセスできるリソースを制限します。

  • または -

  • XmlReader プロパティを XmlResolver に設定することにより、null が外部リソースを開けないようにする。

作成されたオブジェクトは、 XmlReader エンティティ参照を展開し、改行文字の XML 正規化を実行します。

適用対象

Create(TextReader, XmlReaderSettings)

指定されたテキスト リーダーと設定を使用して新しい 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 の場合もあります。

戻り値

XmlReader

ストリーム内の XML データの読み取りに使用するオブジェクト。

例外

input 値は null です。

注釈

既定では、資格情報を持つ は、ドキュメント型定義 (DTD)、エンティティ、スキーマなどの外部リソースにアクセスするために XmlUrlResolver 使用されます。

重要

4.5.2 .NET Framework、既定値は XmlUrlResolver 指定されません。 ソリューションが 4.5.2 .NET Framework以降のバージョンを対象とする場合は、 プロパティを使用 XmlResolver して を指定 XmlReaderSettings.XmlResolver します。

外部リソースが認証を必要とするネットワーク リソースにある場合は、 プロパティを使用して、必要な資格情報を持つ XmlReaderSettings.XmlResolver XmlResolver を指定します。

重要

次のいずれかの方法を使用して、 がアクセスできるリソース XmlReader を制御できます。

  • XmlReader プロパティを XmlResolver オブジェクトに設定することによって、XmlSecureResolver がアクセスできるリソースを制限します。

  • または -

  • XmlReader プロパティを XmlResolver に設定することにより、null が外部リソースを開けないようにする。

作成された XmlReader オブジェクトは、エンティティ参照を展開し、新しい行文字の XML 正規化を実行します。

適用対象

Create(Stream, XmlReaderSettings)

指定されたストリームと設定で、新しい 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 の場合もあります。

戻り値

XmlReader

ストリーム内の XML データの読み取りに使用するオブジェクト。

例外

input 値は null です。

注釈

既定では、資格情報を持つ は、ドキュメント型定義 (DTD)、エンティティ、スキーマなどの外部リソースにアクセスするために XmlUrlResolver 使用されます。

重要

4.5.2 .NET Framework、既定値は XmlUrlResolver 指定されません。 ソリューションが 4.5.2 .NET Framework以降のバージョンを対象とする場合は、 プロパティを使用 XmlResolver して を指定 XmlReaderSettings.XmlResolver します。

外部リソースが認証を必要とするネットワーク リソースにある場合は、 プロパティを使用して、必要な資格情報を持つ XmlReaderSettings.XmlResolver XmlResolver を指定します。

重要

次のいずれかの方法を使用して、 がアクセスできるリソース XmlReader を制御できます。

  • XmlReader プロパティを XmlResolver オブジェクトに設定することによって、XmlSecureResolver がアクセスできるリソースを制限します。

  • または -

  • XmlReader プロパティを XmlResolver に設定することにより、null が外部リソースを開けないようにする。

作成された XmlReader オブジェクトは、エンティティ参照を展開し、新しい行文字の XML 正規化を実行します。

適用対象

Create(String)

指定された 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 クラスは、パスを正規データ形式に変換するときに使用されます。

戻り値

XmlReader

ストリーム内の XML データの読み取りに使用するオブジェクト。

例外

inputUri 値は null です。

XmlReader には、XML データの場所にアクセスするための十分なアクセス許可がありません。

URI によって識別されるファイルが存在しません。

URI の形式が正しくありません。

注: .NET for Windows Storeアプリhttps://docs.microsoft.com/dotnet/standard/cross-platform/cross-platform-development-with-the-portable-class-libraryまたはポータブル クラス ライブラリ では、基本クラスの例外 である FormatException をキャッチします。

次の例では、URI で指定 XmlReader された XML データ ファイルを読み取る オブジェクトを作成します。

// Create the XmlReader object.
XmlReader reader = XmlReader.Create("books.xml");
' Create the XmlReader object.
Dim reader As XmlReader = XmlReader.Create("books.xml")

注釈

既定 XmlReaderSettings の設定を持つ オブジェクトは、リーダーの作成に使用されます。 作成されたリーダーでサポートする機能を指定する場合は、オブジェクトを引数の 1 つとして受け取る オーバーロードを使用し、正しい設定でオブジェクトを XmlReaderSettings XmlReaderSettings 渡します。

ドキュメント型定義 (DTD)、エンティティ、スキーマなどの外部リソースにアクセスするには、資格情報を持つ既定値 XmlUrlResolver が使用されます。

重要

4.5.2 .NET Framework、既定値は XmlUrlResolver 指定されません。 ソリューションが 4.5.2 .NET Framework以降のバージョンを対象とする場合は、 プロパティを使用 XmlResolver して を指定 XmlReaderSettings.XmlResolver します。

外部リソースが認証を必要とするネットワーク リソースにある場合は、 プロパティを使用して、必要な資格情報で XmlResolver を指定 XmlReaderSettings.XmlResolver します。

作成された XmlReader オブジェクトは、エンティティ参照を展開し、新しい行文字の XML 正規化を実行します。

適用対象

Create(TextReader)

指定されたテキスト リーダーを使用して新しい 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 宣言に指定されたエンコーディングを使用しません。

戻り値

XmlReader

ストリーム内の 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 の設定を持つ オブジェクトは、リーダーの作成に使用されます。 作成されたリーダーでサポートする機能を指定する場合は、オブジェクトを引数の 1 つとして受け取る オーバーロードを使用し、正しい設定でオブジェクトを XmlReaderSettings XmlReaderSettings 渡します。

ドキュメント型定義 (DTD)、エンティティ、スキーマなどの外部リソースにアクセスするには、資格情報を持つ既定値 XmlUrlResolver が使用されます。

重要

4.5.2 .NET Framework、既定値は XmlUrlResolver 指定されません。 ソリューションが 4.5.2 .NET Framework以降のバージョンを対象とする場合は、 プロパティを使用 XmlResolver して を指定 XmlReaderSettings.XmlResolver します。

外部リソースが認証を必要とするネットワーク リソースにある場合は、 プロパティを使用して、必要な資格情報で XmlResolver を指定 XmlReaderSettings.XmlResolver します。

作成された XmlReader オブジェクトは、エンティティ参照を展開し、新しい行文字の XML 正規化を実行します。

適用対象

Create(Stream)

既定の設定で指定されたストリームを使用して新しい 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) 文字のストリームとして解析する処理を継続します。

戻り値

XmlReader

ストリーム内の 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 の設定を持つ オブジェクトは、リーダーの作成に使用されます。 作成されたリーダーでサポートする機能を指定する場合は、オブジェクトを引数の 1 つとして受け取る オーバーロードを使用し、正しい設定でオブジェクトを XmlReaderSettings XmlReaderSettings 渡します。

ドキュメント型定義 (DTD)、エンティティ、スキーマなどの外部リソースにアクセスするには、資格情報を持つ既定値 XmlUrlResolver が使用されます。

重要

4.5.2 .NET Framework、既定値は XmlUrlResolver 指定されません。 ソリューションが 4.5.2 .NET Framework以降のバージョンを対象とする場合は、 プロパティを使用 XmlResolver して を指定 XmlReaderSettings.XmlResolver します。

外部リソースが認証を必要とするネットワーク リソースにある場合は、 プロパティを使用して、必要な資格情報で XmlResolver を指定 XmlReaderSettings.XmlResolver します。

作成された XmlReader オブジェクトは、エンティティ参照を展開し、新しい行文字の XML 正規化を実行します。

適用対象

Create(String, XmlReaderSettings)

指定された 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 オブジェクトは、パスを正規データ形式に変換するときに使用されます。 XmlResolvernull の場合は、新しい XmlUrlResolver オブジェクトが使用されます。

settings
XmlReaderSettings

新しい XmlReader インスタンスの設定。 この値は、null の場合もあります。

戻り値

XmlReader

ストリーム内の XML データの読み取りに使用するオブジェクト。

例外

inputUri 値は null です。

URI で指定したファイルが見つかりません。

URI の形式が正しくありません。

注: .NET for Windows Storeアプリhttps://docs.microsoft.com/dotnet/standard/cross-platform/cross-platform-development-with-the-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

注釈

既定では、資格情報を持つ は、ドキュメント型定義 (DTD)、エンティティ、スキーマなどの外部リソースにアクセスするために XmlUrlResolver 使用されます。

重要

4.5.2 .NET Framework、既定値は XmlUrlResolver 指定されません。 ソリューションが 4.5.2 .NET Framework以降のバージョンを対象とする場合は、 プロパティを使用 XmlResolver して を指定 XmlReaderSettings.XmlResolver します。

つまり、 は XmlReader 、認証を必要としない任意の場所にアクセスできます。 外部リソースが認証を必要とするネットワーク リソースにある場合は、 プロパティを使用して、必要な資格情報を持つ XmlReaderSettings.XmlResolver XmlResolver を指定します。

重要

にアクセスできるリソースを XmlReader 制限するには、 プロパティを XmlResolver オブジェクトに設定 XmlSecureResolver します。

作成された XmlReader オブジェクトは、エンティティ参照を展開し、新しい行文字の XML 正規化を実行します。

適用対象