XmlReaderSettings クラス
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
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 オブジェクトの XmlReaderSettings が XmlReader のインスタンス ドキュメント中に出現したスキーマの場所を解決するために使用されます。 オブジェクトが指定されているXmlResolver場合、
null検証フラグとProcessSchemaLocation検証フラグが設定されていても、スキーマのProcessInlineSchema場所は解決されません。検証を実行しているときにスキーマを追加すると新しい型が追加されるため、検証しているドキュメントの検証結果を変えることができます。 結果として、信頼できるソースからの外部スキーマだけが解決されるようにする必要があります。
検証エラー メッセージでは、機密性の高いコンテンツ モデル情報が公開される可能性があります。 検証エラーメッセージと警告メッセージは、デリゲートをValidationEventHandler使用して処理されるか、オブジェクトにXmlReaderSettingsイベント ハンドラーが指定されていない場合としてXmlSchemaValidationException公開されます (検証警告ではスローされませんXmlSchemaValidationException)。 このコンテンツ モデル情報は、信頼されていないシナリオでは公開しないでください。 検証警告メッセージは既定で抑制され、フラグを ReportValidationWarnings 設定することで報告できます。
このプロパティは SourceUri 、 XmlSchemaValidationException 例外の原因となったスキーマ ファイルへの URI パスを返します。 このプロパティは SourceUri 、信頼されていないシナリオでは公開しないでください。
ドキュメントの大部分に対して ID 制約を ProcessIdentityConstraints 持つスキーマに対して高可用性シナリオで信頼されていない大きな XML ドキュメントを検証する場合は、フラグを無効にすることをお勧めします (既定で有効)。
XmlReaderSettings オブジェクトはユーザー資格情報など、重要な情報を含むことがあります。 XmlReaderSettings オブジェクトをキャッシュしたり、XmlReaderSettings オブジェクトをあるコンポーネントから別のコンポーネントに渡したりする場合には注意が必要です。
既定で DTD の処理は無効になっています。 DTD 処理を有効にする場合は、信頼されていないソースからの DTD とサービス拒否攻撃の可能性を認識する必要があります。 を XmlSecureResolver 使用して、アクセスできるリソースを XmlReader 制限します。
信頼できないソースからの NameTable、XmlNamespaceManager、および 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 |
XmlReader で読み込むときに検証または型の割り当てを実行するかどうかを示す値を取得または設定します。 |
| XmlResolver |
外部ドキュメントへのアクセスに使用する XmlResolver を設定します。 |
メソッド
| Clone() |
XmlReaderSettings インスタンスのコピーを作成します。 |
| Equals(Object) |
指定されたオブジェクトが現在のオブジェクトと等しいかどうかを判断します。 (継承元 Object) |
| GetHashCode() |
既定のハッシュ関数として機能します。 (継承元 Object) |
| GetType() |
現在のインスタンスの Type を取得します。 (継承元 Object) |
| MemberwiseClone() |
現在の Object の簡易コピーを作成します。 (継承元 Object) |
| Reset() |
設定クラスのメンバーを既定値にリセットします。 |
| ToString() |
現在のオブジェクトを表す文字列を返します。 (継承元 Object) |
イベント
| ValidationEventHandler |
リーダーが検証エラーを検出すると発生します。 |