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 のインスタンスを指定できます。

  • 静的Createメソッドによって作成されたオブジェクトでのみ使用できる XML 1.0 (第 4 版) の推奨事項に対する準拠チェックやコンプライアンスの向上などの機能を最大限にXmlReader活用します。

注意

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

既定の設定

オブジェクトを 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 有効
ValidationType None
XmlResolver 新しい XmlUrlResolver オブジェクト。 .NET Framework 4.5.2 以降では、この設定の既定値nullは .

一般的なシナリオの設定

XmlReaderSettings一般的な XML リーダー シナリオの一部に対して設定する必要があるプロパティを次に示します。

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

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

非同期プログラミング

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

セキュリティの考慮事項

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

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

  • または -

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

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 の形式が正しくありません。

注釈

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

重要

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

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

重要

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

作成された 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 つだけを設定して使用できます)。

次の例では、XML フラグメントを XmlReader 読み取るオブジェクトを作成します。

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 以降のバージョンを対象とする場合は、using プロパティをXmlResolverXmlReaderSettings.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 以降のバージョンを対象とする場合は、using プロパティをXmlResolverXmlReaderSettings.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 以降のバージョンを対象とする場合は、using プロパティをXmlResolverXmlReaderSettings.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 オブジェクトが、基になるリーダーの準拠レベルと一致しない準拠レベルを指定した場合。

  • または -

基になる XmlReaderError 状態か Closed 状態。

次の例では、オブジェクトにラップされた検証 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 オブジェクトには、メソッドによって作成された別 XmlReaderCreate オブジェクトや XmlReader 、具象 XmlReader 実装のいずれかを使用して作成されたオブジェクトを指定できます。

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

重要

.NET Framework 4.5.2 以降では、既定値XmlUrlResolverは指定されません。 ソリューションが .NET Framework 4.5.2 以降のバージョンを対象とする場合は、using プロパティをXmlResolverXmlReaderSettings.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 以降のバージョンを対象とする場合は、using プロパティをXmlResolverXmlReaderSettings.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 です。

注釈

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

重要

.NET Framework 4.5.2 以降では、既定値XmlUrlResolverは指定されません。 ソリューションが .NET Framework 4.5.2 以降のバージョンを対象とする場合は、using プロパティをXmlResolverXmlReaderSettings.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 です。

注釈

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

重要

.NET Framework 4.5.2 以降では、既定値XmlUrlResolverは指定されません。 ソリューションが .NET Framework 4.5.2 以降のバージョンを対象とする場合は、using プロパティをXmlResolverXmlReaderSettings.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 の形式が正しくありません。

注: Windows ストア アプリまたはポータブル クラス ライブラリの .NET では、代わりに基底クラス例外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 作成には、既定の設定を持つオブジェクトが使用されます。 作成したリーダーでサポートする機能を指定する場合は、オブジェクトを引数の 1 つとして受け取り XmlReaderSettings 、正しい設定でオブジェクトを XmlReaderSettings 渡すオーバーロードを使用します。

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

重要

.NET Framework 4.5.2 以降では、既定値XmlUrlResolverは指定されません。 ソリューションが .NET Framework 4.5.2 以降のバージョンを対象とする場合は、using プロパティをXmlResolverXmlReaderSettings.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 渡すオーバーロードを使用します。

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

重要

.NET Framework 4.5.2 以降では、既定値XmlUrlResolverは指定されません。 ソリューションが .NET Framework 4.5.2 以降のバージョンを対象とする場合は、using プロパティをXmlResolverXmlReaderSettings.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 渡します。

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

重要

.NET Framework 4.5.2 以降では、既定値XmlUrlResolverは指定されていません。 ソリューションが .NET Framework 4.5.2 以降のバージョンを対象とする場合は、using プロパティをXmlResolverXmlReaderSettings.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 の形式が正しくありません。

注: Windows ストア アプリまたはポータブル クラス ライブラリの .NET では、代わりに基底クラス例外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)、エンティティ、スキーマなどの外部リソースにアクセスするために使用されます。

重要

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

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

重要

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

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

適用対象