XmlReaderSettings クラス

定義

XmlReader メソッドで作成された Create オブジェクトでサポートする一連の機能を指定します。

public ref class XmlReaderSettings sealed
public sealed class XmlReaderSettings
type XmlReaderSettings = class
Public NotInheritable Class XmlReaderSettings
継承
XmlReaderSettings

次の例では、 XmlReader XmlUrlResolver 必要な資格情報を持つを使用するを作成します。

// Create an XmlUrlResolver with the credentials necessary to access the Web server.
var resolver = new XmlUrlResolver();
var myCred = new NetworkCredential(UserName, SecurelyStoredPassword, Domain);
resolver.Credentials = myCred;

var settings = new XmlReaderSettings();
settings.XmlResolver = resolver;

// Create the reader.
XmlReader reader = XmlReader.Create("http://serverName/data/books.xml", settings);
' Create an XmlUrlResolver with the credentials necessary to access the Web server.
Dim resolver As New XmlUrlResolver()
Dim myCred As System.Net.NetworkCredential
myCred = New System.Net.NetworkCredential(UserName, SecurelyStoredPassword, Domain)
resolver.Credentials = myCred

Dim settings As New XmlReaderSettings()
settings.XmlResolver = resolver

' Create the reader.
Dim reader As XmlReader = XmlReader.Create("http://serverName/data/books.xml", settings)

注釈

Createインスタンスを取得するには、メソッドを使用し XmlReader ます。 このメソッドは、クラスを使用し XmlReaderSettings て、作成するオブジェクトに実装する機能を指定し XmlReader ます。

XmlReader Create 適合性チェック、検証、およびその他の一般的なシナリオに使用する設定については、「」およびリファレンスページの「解説」セクションを参照してください。 XmlReaderSettings()既定の設定の一覧については、コンストラクターを参照してください。

セキュリティの考慮事項

クラスを使用する場合は、次の点を考慮してください XmlReaderSettings

  • ProcessInlineSchema オブジェクトの ProcessSchemaLocation および XmlReaderSettings の検証フラグは、既定では設定されていません。 これらのフラグが設定されていると、XmlResolver オブジェクトの XmlReaderSettingsXmlReader のインスタンス ドキュメント中に出現したスキーマの場所を解決するために使用されます。 XmlResolverオブジェクトがの場合 nullProcessInlineSchema および ProcessSchemaLocation 検証フラグが設定されている場合でも、スキーマの場所は解決されません。

  • 検証を実行しているときにスキーマを追加すると新しい型が追加されるため、検証しているドキュメントの検証結果を変えることができます。 結果として、信頼できるソースからの外部スキーマだけが解決されるようにする必要があります。

  • 検証エラーメッセージによって、機密性の高いコンテンツモデル情報が公開される場合があります。 検証エラーと警告メッセージは、デリゲートを使用して処理される ValidationEventHandler か、オブジェクトにイベントハンドラーが提供されない場合はとして公開され XmlSchemaValidationException XmlReaderSettings ます (検証の警告によってが XmlSchemaValidationException スローされることはありません)。 このコンテンツモデル情報は、信頼されていないシナリオでは公開しないでください。 検証警告メッセージは既定では抑制され、フラグを設定することによって報告でき ReportValidationWarnings ます。

  • SourceUriのプロパティは、 XmlSchemaValidationException 例外の原因となったスキーマファイルへの URI パスを返します。 SourceUri信頼されていないシナリオでは、プロパティを公開しないでください。

  • ProcessIdentityConstraintsドキュメントの大部分に対する id 制約を持つスキーマに対して、高可用性シナリオで、信頼されていない大きな XML ドキュメントを検証する場合は、フラグ (既定で有効) を無効にすることをお勧めします。

  • XmlReaderSettings オブジェクトはユーザー資格情報など、重要な情報を含むことがあります。 XmlReaderSettings オブジェクトをキャッシュしたり、XmlReaderSettings オブジェクトをあるコンポーネントから別のコンポーネントに渡したりする場合には注意が必要です。

  • 既定で DTD の処理は無効になっています。 DTD 処理を有効にする場合は、信頼されていないソースの Dtd とサービス拒否攻撃の可能性について注意する必要があります。 を使用して、が XmlSecureResolver アクセスできるリソースを制限し XmlReader ます。

  • 信頼できないソースからの NameTableXmlNamespaceManager、および XmlResolver オブジェクトなどのサポート コンポーネントは受け入れないようにします。

  • XmlReader を使用するアプリケーションのメモリ使用量が、解析済み XML ドキュメントのサイズに相関する場合があります。 非常に大きな XML ドキュメントを送信して解析させることは、サービス拒否攻撃 (DoS) の一種です。 プロパティを設定して解析できるドキュメントのサイズを制限でき MaxCharactersInDocument ます。その後、プロパティを設定して、エンティティを展開したときに生成される文字数を制限でき MaxCharactersFromEntities ます。

コンストラクター

XmlReaderSettings()

XmlReaderSettings クラスの新しいインスタンスを初期化します。

XmlReaderSettings(XmlResolver)
互換性のために残されています。

XmlReaderSettings クラスの新しいインスタンスを初期化します。

プロパティ

Async

非同期 XmlReader メソッドを XmlReader の特定のインスタンスで使用できるかどうかを取得または設定します。

CheckCharacters

文字のチェックを行うかどうかを示す値を取得または設定します。

CloseInput

リーダーを閉じるときに基になるストリームまたは TextReader を閉じる必要があるかどうかを示す値を取得または設定します。

ConformanceLevel

XmlReader が従う準拠のレベルを取得または設定します。

DtdProcessing

DTD の処理を決定する値を取得または設定します。

IgnoreComments

コメントを無視するかどうかを示す値を取得または設定します。

IgnoreProcessingInstructions

処理命令を無視するかどうかを示す値を取得または設定します。

IgnoreWhitespace

意味のない空白を無視するかどうかを示す値を取得または設定します。

LineNumberOffset

XmlReader オブジェクトの行番号オフセットを取得または設定します。

LinePositionOffset

XmlReader オブジェクトの行番号オフセットを取得または設定します。

MaxCharactersFromEntities

エンティティの展開時に許容されるドキュメント内の最大文字数を示す値を取得または設定します。

MaxCharactersInDocument

XML ドキュメントの最大文字数を示す値を取得または設定します。 ゼロ (0) の値は、XML ドキュメントのサイズに制限がないことを示します。 0 以外の値は、最大サイズを文字数で示します。

NameTable

最小単位に分割された文字列の比較に使用する XmlNameTable を取得または設定します。

ProhibitDtd
互換性のために残されています。
互換性のために残されています。

文書型定義 (DTD) 処理を禁止するかどうかを示す値を取得または設定します。 このプロパティは今後使用しません。 代わりに、DtdProcessing を使用してください。

Schemas

スキーマの検証を行うときに使用する XmlSchemaSet を取得または設定します。

ValidationFlags

スキーマ検証の設定を示す値を取得または設定します。 この設定は、スキーマを検証する XmlReader オブジェクトに適用されます (ValidationType.Schema に設定されている ValidationType プロパティ)。

ValidationType

XmlReader で読み込むときに検証または型の割り当てを実行するかどうかを示す値を取得または設定します。

XmlResolver

外部ドキュメントへのアクセスに使用する XmlResolver を設定します。

メソッド

Clone()

XmlReaderSettings インスタンスのコピーを作成します。

Equals(Object)

指定されたオブジェクトが現在のオブジェクトと等しいかどうかを判断します。

(継承元 Object)
GetHashCode()

既定のハッシュ関数として機能します。

(継承元 Object)
GetType()

現在のインスタンスの Type を取得します。

(継承元 Object)
MemberwiseClone()

現在の Object の簡易コピーを作成します。

(継承元 Object)
Reset()

設定クラスのメンバーを既定値にリセットします。

ToString()

現在のオブジェクトを表す文字列を返します。

(継承元 Object)

イベント

ValidationEventHandler

リーダーが検証エラーを検出すると発生します。

適用対象

こちらもご覧ください