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 = 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 インスタンスを指定できます。
  • 静的メソッドによって作成されたXmlReader オブジェクトでのみ使用できる Create の推奨事項に対する準拠チェックやコンプライアンスの向上などの機能を最大限に活用します。

Note

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

既定の設定

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

Setting 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 null

一般的なシナリオの設定

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

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

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

非同期プログラミング

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

セキュリティに関する考慮事項

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

  • ThrowingResolverを使用して、XML リーダーがアクセスできるリソースを制限します。...
  • を に設定すると、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 オブジェクトは、パスを正規のデータ表現に変換するために使用されます。 XmlResolvernullされている場合は、新しいXmlUrlResolver オブジェクトが使用されます。

settings
XmlReaderSettings

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

inputContext
XmlParserContext

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

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

返品

ストリーム内の XML データを読み取るために使用されるオブジェクト。

例外

inputUri 値は nullです。

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

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

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

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

注釈

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

Important

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

つまり、 XmlReader は認証を必要としない任意の場所にアクセスできます。 外部リソースが認証を必要とするネットワーク リソース上にある場合は、 XmlReaderSettings.XmlResolver プロパティを使用して、必要な資格情報で 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:langxml:space スコープ、ベース URI、ドキュメント型の定義を含めることができます。

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

返品

ストリーム内の 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)、エンティティ、スキーマなどの外部リソースにアクセスするために使用されます。

Important

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

外部リソースが認証を必要とするネットワーク リソース上にある場合は、 XmlReaderSettings.XmlResolver プロパティを使用して、必要な資格情報で 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:langxml: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 プロパティを使用して、必要な資格情報で 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 の場合もあります。

baseUri
String

読み取るエンティティまたはドキュメントのベース URI。 この値は、null の場合もあります。

セキュリティに関する注意 ベース URI は、XML ドキュメントの相対 URI を解決するために使用されます。 信頼されていないソースのベース URI は使用しないでください。

返品

ストリーム内の XML データを読み取るために使用されるオブジェクト。

例外

input 値は nullです。

注釈

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

Important

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

外部リソースが認証を必要とするネットワーク リソース上にある場合は、 XmlReaderSettings.XmlResolver プロパティを使用して、必要な資格情報で 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 は、 Error または 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 オブジェクトには、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 の場合もあります。

baseUri
String

読み取るエンティティまたはドキュメントのベース URI。 この値は、null の場合もあります。

セキュリティに関する注意 ベース URI は、XML ドキュメントの相対 URI を解決するために使用されます。 信頼されていないソースのベース URI は使用しないでください。

返品

ストリーム内の XML データを読み取るために使用されるオブジェクト。

例外

input 値は nullです。

注釈

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

Important

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

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

Important

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

  • XmlReaderを使用して、ThrowingResolverがアクセスできるリソースを制限します。
  • XmlReader プロパティを XmlResolver に設定して、nullが外部リソースを開くことを許可しないでください。

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

適用対象

Create(String)

ソース:
XmlReader.cs
ソース:
XmlReader.cs
ソース:
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 によって識別されるファイルが存在しません。

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

注: < Windows Store アプリの>.NET または Portable クラス ライブラリでは、代わりに基底クラスの例外 をキャッチします。

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

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

注釈

リーダーの作成には、既定の設定を持つ XmlReaderSettings オブジェクトが使用されます。 作成したリーダーでサポートする機能を指定する場合は、 XmlReaderSettings オブジェクトを引数の 1 つとして受け取るオーバーロードを使用し、正しい設定で 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 オブジェクトを引数の 1 つとして受け取るオーバーロードを使用し、正しい設定で 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 オブジェクトを引数の 1 つとして受け取るオーバーロードを使用し、正しい設定で 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 オブジェクトは、パスを正規のデータ表現に変換するために使用されます。 XmlResolvernullされている場合は、新しいXmlUrlResolver オブジェクトが使用されます。

settings
XmlReaderSettings

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

返品

ストリーム内の XML データを読み取るために使用されるオブジェクト。

例外

inputUri 値は nullです。

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

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

注: < Windows Store アプリの>.NET または Portable クラス ライブラリでは、代わりに基底クラスの例外 をキャッチします。

次の例では、ドキュメント型定義 (DTD) 検証をサポートする XmlReader オブジェクトを作成します。

// 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 プロパティを使用して、必要な資格情報で XmlResolver を指定します。

Important

XmlReaderを使用して、ThrowingResolverがアクセスできるリソースを制限できます。

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

適用対象