XmlReaderSettings Class

Definition

XmlReader 메서드를 사용하여 만든 Create 개체에서 지원할 기능 집합을 지정합니다.Specifies a set of features to support on the XmlReader object created by the Create method.

public ref class XmlReaderSettings sealed
public sealed class XmlReaderSettings
type XmlReaderSettings = class
Public NotInheritable Class XmlReaderSettings
Inheritance
XmlReaderSettings

Examples

다음 예에서는 필요한 자격 증명을 사용 하 여 XmlUrlResolver를 사용 하는 XmlReader를 만듭니다.The following example creates an XmlReader that uses an XmlUrlResolver with the necessary credentials.

// 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)

Remarks

Create 메서드를 사용 하 여 XmlReader 인스턴스를 가져올 수 있습니다.You use the Create method to obtain XmlReader instances. 이 메서드는 XmlReaderSettings 클래스를 사용 하 여 생성 되는 XmlReader 개체에서 구현할 기능을 지정 합니다.This method uses the XmlReaderSettings class to specify which features to implement in the XmlReader object it creates.

규칙 검사, 유효성 검사 및 기타 일반적인 시나리오에 사용할 설정에 대 한 자세한 내용은 XmlReaderCreate 참조 페이지의 설명 섹션을 참조 하세요.See the Remarks sections of the XmlReader and Create reference pages for information about which settings to use for conformance checks, validation, and other common scenarios. 기본 설정 목록은 XmlReaderSettings() 생성자를 참조 하세요.See the XmlReaderSettings() constructor for a list of default settings.

보안 고려 사항Security considerations

XmlReaderSettings 클래스를 사용 하는 경우 다음 사항을 고려 하세요.Consider the following when using the XmlReaderSettings class.

  • ProcessInlineSchema 개체의 ProcessSchemaLocationXmlReaderSettings 유효성 검사 플래그는 기본적으로 설정되지 않습니다.The ProcessInlineSchema and ProcessSchemaLocation validation flags of an XmlReaderSettings object are not set by default. 이 플래그를 설정하면 XmlResolver 개체의 XmlReaderSettings를 사용하여 XmlReader에서 인스턴스 문서에 나타난 스키마 위치를 확인할 수 있습니다.When these flags are set, the XmlResolver of the XmlReaderSettings object is used to resolve schema locations encountered in the instance document in the XmlReader. XmlResolver 개체가 null되는 경우 ProcessInlineSchemaProcessSchemaLocation 유효성 검사 플래그가 설정 된 경우에도 스키마 위치가 확인 되지 않습니다.If the XmlResolver object is null, schema locations are not resolved even if the ProcessInlineSchema and ProcessSchemaLocation validation flags are set.

  • 문서의 유효성을 검사하는 동안 스키마를 추가하면 새 형식이 추가되고 해당 문서에 대한 유효성 검사 결과가 달라질 수 있습니다.Schemas added during validation add new types and can change the validation outcome of the document being validated. 결과적으로 외부 스키마는 신뢰할 수 있는 소스에서만 확인해야 합니다.As a result, external schemas should only be resolved from trusted sources.

  • 유효성 검사 오류 메시지는 중요 한 콘텐츠 모델 정보를 노출할 수 있습니다.Validation error messages may expose sensitive content model information. 유효성 검사 오류 및 경고 메시지는 ValidationEventHandler 대리자를 사용 하 여 처리 되거나 XmlReaderSettings 개체에 제공 된 이벤트 처리기가 없는 경우 XmlSchemaValidationException로 노출 됩니다 (유효성 검사 경고로 인해 XmlSchemaValidationException throw 되지 않음).Validation error and warning messages are handled using the ValidationEventHandler delegate, or are exposed as an XmlSchemaValidationException if no event handler is provided to the XmlReaderSettings object (validation warnings do not cause an XmlSchemaValidationException to be thrown). 신뢰할 수 없는 시나리오에서이 콘텐츠 모델 정보를 노출 되어야 합니다.This content model information should not be exposed in untrusted scenarios. 유효성 검사 경고 메시지는 기본적으로 표시 되지 않으며 ReportValidationWarnings 플래그를 설정 하 여 보고할 수 있습니다.Validation warning messages are suppressed by default and can be reported by setting the ReportValidationWarnings flag.

  • XmlSchemaValidationExceptionSourceUri 속성은 예외를 발생 시킨 스키마 파일의 URI 경로를 반환 합니다.The SourceUri property of an XmlSchemaValidationException returns the URI path to the schema file that caused the exception. SourceUri 속성은 신뢰할 수 없는 시나리오에서 노출 되 면 안 됩니다.The SourceUri property should not be exposed in untrusted scenarios.

  • 문서의 큰 부분에 대해 id 제약 조건이 있는 스키마에 대 한 고가용성 시나리오에서 신뢰할 수 없는 대규모 XML 문서의 유효성을 검사 하는 경우에는 기본적으로 사용 하도록 설정 된 ProcessIdentityConstraints 플래그를 사용 하지 않는 것이 좋습니다.Disabling the ProcessIdentityConstraints flag (enabled by default) is recommended when validating, untrusted, large XML documents in high availability scenarios against a schema with identity constraints over a large part of the document.

  • XmlReaderSettings 개체에는 사용자 자격 증명과 같은 중요한 정보가 포함될 수 있습니다.XmlReaderSettings objects can contain sensitive information such as user credentials. XmlReaderSettings 개체를 캐시하거나 한 구성 요소에서 다른 구성 요소로 XmlReaderSettings 개체를 전송할 때는 주의해야 합니다.You should be careful when caching XmlReaderSettings objects, or when passing the XmlReaderSettings object from one component to another.

  • DTD 처리는 기본적으로 비활성화되어 있습니다.DTD processing is disabled by default. DTD 처리를 사용 하는 경우 가능한 서비스 거부 공격 및 신뢰할 수 없는 소스에서 Dtd를 포함 하 여 주의 해야 합니다.If you enable DTD processing, you need to be aware of including DTDs from untrusted sources and possible denial of service attacks. XmlSecureResolver를 사용 하 여 XmlReader에서 액세스할 수 있는 리소스를 제한할 수 있습니다.Use the XmlSecureResolver to restrict the resources that the XmlReader can access.

  • 신뢰할 수 없는 소스로부터 NameTable, XmlNamespaceManagerXmlResolver 개체 등의 지원 구성 요소를 받지 마십시오.Do not accept supporting components, such as NameTable, XmlNamespaceManager, and XmlResolver objects, from an untrusted source.

  • XmlReader를 사용하는 애플리케이션의 메모리 사용은 구문 분석된 XML 문서 크기와 상관 관계가 있습니다.Memory usage of an application that uses XmlReader may have a correlation to the size of the parsed XML document. 서비스 거부 공격의 한 예는 구문 분석하기에는 너무 큰 XML 문서를 제출하는 경우입니다.One form of denial of service attack is when excessively large XML documents are submitted to be parsed. MaxCharactersInDocument 속성을 설정 하 여 구문 분석할 수 있는 문서 크기를 제한 한 다음 MaxCharactersFromEntities 속성을 설정 하 여 엔터티 확장에서 발생 하는 문자 수를 제한할 수 있습니다.You can limit the size of the document that can be parsed by setting the MaxCharactersInDocument property and then limit the number of characters that result from expanding entities by setting the MaxCharactersFromEntities property.

Constructors

XmlReaderSettings() XmlReaderSettings 클래스의 새 인스턴스를 초기화합니다.Initializes a new instance of the XmlReaderSettings class.
XmlReaderSettings(XmlResolver) XmlReaderSettings 클래스의 새 인스턴스를 초기화합니다.Initializes a new instance of the XmlReaderSettings class.

Properties

Async

비동기 XmlReader 메서드를 특정 XmlReader 인스턴스에서 사용할 수 있는지 여부를 가져오거나 설정합니다.Gets or sets whether asynchronous XmlReader methods can be used on a particular XmlReader instance.

CheckCharacters

문자 검사를 수행할지를 나타내는 값을 가져오거나 설정합니다.Gets or sets a value indicating whether to do character checking.

CloseInput

판독기를 닫을 때 내부 스트림 또는 TextReader를 함께 닫을지 여부를 나타내는 값을 가져오거나 설정합니다.Gets or sets a value indicating whether the underlying stream or TextReader should be closed when the reader is closed.

ConformanceLevel

XmlReader에 적용할 규칙 수준을 가져오거나 설정합니다.Gets or sets the level of conformance which the XmlReader will comply.

DtdProcessing

DTD 처리를 결정하는 값을 가져오거나 설정합니다.Gets or sets a value that determines the processing of DTDs.

IgnoreComments

주석을 무시할지를 나타내는 값을 가져오거나 설정합니다.Gets or sets a value indicating whether to ignore comments.

IgnoreProcessingInstructions

처리 명령을 무시할지를 나타내는 값을 가져오거나 설정합니다.Gets or sets a value indicating whether to ignore processing instructions.

IgnoreWhitespace

유효하지 않은 공백을 무시할지를 나타내는 값을 가져오거나 설정합니다.Gets or sets a value indicating whether to ignore insignificant white space.

LineNumberOffset

XmlReader 개체의 줄 번호 오프셋을 가져오거나 설정합니다.Gets or sets line number offset of the XmlReader object.

LinePositionOffset

XmlReader 개체의 줄 위치 오프셋을 가져오거나 설정합니다.Gets or sets line position offset of the XmlReader object.

MaxCharactersFromEntities

문서에서 엔터티 확장명 후의 최대 허용 문자 수를 나타내는 값을 가져오거나 설정합니다.Gets or sets a value indicating the maximum allowable number of characters in a document that result from expanding entities.

MaxCharactersInDocument

XML 문서의 최대 허용 문자 수를 나타내는 값을 가져오거나 설정합니다.Gets or sets a value indicating the maximum allowable number of characters in an XML document. 값 0은 XML 문서 크기에 제한이 없음을 의미합니다.A zero (0) value means no limits on the size of the XML document. 0이 아닌 값은 최대 크기(문자 수)를 지정합니다.A non-zero value specifies the maximum size, in characters.

NameTable

원자화된 문자열을 비교하는 데 사용할 XmlNameTable을 가져오거나 설정합니다.Gets or sets the XmlNameTable used for atomized string comparisons.

ProhibitDtd

DTD(문서 형식 정의) 프로세스를 금지할지를 나타내는 값을 가져오거나 설정합니다.Gets or sets a value indicating whether to prohibit document type definition (DTD) processing. 이 속성은 사용되지 않습니다.This property is obsolete. 대신 DtdProcessing를 사용하세요.Use DtdProcessing instead.

Schemas

스키마 유효성 검사를 수행할 때 사용할 XmlSchemaSet을 가져오거나 설정합니다.Gets or sets the XmlSchemaSet to use when performing schema validation.

ValidationFlags

스키마 유효성 검사 설정을 나타내는 값을 가져오거나 설정합니다.Gets or sets a value indicating the schema validation settings. 이 설정은 스키마(ValidationType.Schema로 설정된 ValidationType 속성) 유효성 검사를 하는 XmlReader 개체에 적용됩니다.This setting applies to XmlReader objects that validate schemas (ValidationType property set to ValidationType.Schema).

ValidationType

XmlReader가 읽는 동안 유효성 검사 또는 형식 할당을 수행할지 여부를 나타내는 값을 가져오거나 설정합니다.Gets or sets a value indicating whether the XmlReader will perform validation or type assignment when reading.

XmlResolver

외부 문서에 액세스하는 데 사용할 XmlResolver를 설정합니다.Sets the XmlResolver used to access external documents.

Methods

Clone()

XmlReaderSettings 인스턴스의 복사본을 만듭니다.Creates a copy of the XmlReaderSettings instance.

Equals(Object)

지정한 개체와 현재 개체가 같은지 여부를 확인합니다.Determines whether the specified object is equal to the current object.

(Inherited from Object)
GetHashCode()

기본 해시 함수로 작동합니다.Serves as the default hash function.

(Inherited from Object)
GetType()

현재 인스턴스의 Type을 가져옵니다.Gets the Type of the current instance.

(Inherited from Object)
MemberwiseClone()

현재 Object의 단순 복사본을 만듭니다.Creates a shallow copy of the current Object.

(Inherited from Object)
Reset()

설정 클래스의 멤버를 해당 기본값으로 다시 설정합니다.Resets the members of the settings class to their default values.

ToString()

현재 개체를 나타내는 문자열을 반환합니다.Returns a string that represents the current object.

(Inherited from Object)

Events

ValidationEventHandler

판독기에서 유효성 검사 오류가 발견되면 발생합니다.Occurs when the reader encounters validation errors.

Applies to

See also