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 개체에 대해 기본적으로 설정되지 않습니다. 이러한 플래그가 설정되면, 인스턴스 문서에서 발견되는 스키마 위치를 해결하기 위해 XmlResolverXmlReaderSettings 개체가 사용됩니다. 개체 XmlResolver가
null일 경우, 유효성 검사 플래그 ProcessInlineSchema, ProcessSchemaLocation가 설정되어 있어도 스키마 위치가 해결되지 않습니다.유효성 검사 중에 추가된 스키마는 새 형식을 추가하고 유효성을 검사하는 문서의 유효성 검사 결과를 변경할 수 있습니다. 따라서 외부 스키마는 신뢰할 수 있는 원본에서만 확인되어야 합니다.
유효성 검사 오류 메시지는 중요한 콘텐츠 모델 정보를 노출할 수 있습니다. 유효성 검사 오류 및 경고 메시지는 ValidationEventHandler 대리자를 사용하여 처리되거나, 개체 XmlSchemaValidationException에 이벤트 처리기가 제공되지 않은 경우 XmlReaderSettings으로 노출됩니다(유효성 검사 경고로는 XmlSchemaValidationException이/가 throw되지 않습니다). 이 콘텐츠 모델 정보는 신뢰할 수 없는 시나리오에서 노출되어서는 안 됩니다. 유효성 검사 경고 메시지는 기본적으로 표시되지 않으며 플래그를 ReportValidationWarnings 설정하여 보고할 수 있습니다.
이 속성 SourceUri 은 XmlSchemaValidationException 예외를 발생시킨 스키마 파일에 대한 URI 경로를 반환합니다. 신뢰할 수 없는 SourceUri 시나리오에서는 속성을 노출해서는 안 됩니다.
신뢰할 수 없는 대형 XML 문서를 스키마의 ID 제약 조건에 대해 고가용성 시나리오에서 유효성을 검사할 때, 문서의 많은 부분을 차지하는 플래그 ProcessIdentityConstraints(기본적으로 활성화됨)를 비활성화하는 것이 좋습니다.
XmlReaderSettings 개체는 사용자 자격 증명과 같은 중요한 정보를 포함할 수 있습니다. XmlReaderSettings 개체를 캐싱하거나 XmlReaderSettings 개체를 한 구성 요소에서 다른 구성 요소로 전달할 때는 주의해야 합니다.
DTD 처리는 기본적으로 사용하지 않도록 설정됩니다. DTD 처리를 사용하도록 설정하는 경우 신뢰할 수 없는 원본의 DTD와 서비스 거부 공격 가능성을 알고 있어야 합니다. 액세스할 수 있는 리소스를 제한하는 데 ThrowingResolver 사용합니다XmlReader.
신뢰할 수 없는 원본의 지원 구성 요소(예: NameTable, XmlNamespaceManager및 XmlResolver 개체)를 허용하지 않습니다.
사용하는 XmlReader 애플리케이션의 메모리 사용량은 구문 분석된 XML 문서의 크기와 상관 관계가 있을 수 있습니다. 서비스 거부 공격의 한 가지 형태는 지나치게 큰 XML 문서를 구문 분석하기 위해 제출하는 경우입니다. MaxCharactersInDocument 속성을 설정하여 구문 분석할 수 있는 문서의 크기를 제한할 수 있으며, MaxCharactersFromEntities 속성을 설정하여 엔터티를 확장하여 생성되는 문자 수를 제한할 수 있습니다.
생성자
| Name | Description |
|---|---|
| XmlReaderSettings() |
XmlReaderSettings 클래스의 새 인스턴스를 초기화합니다. |
| XmlReaderSettings(XmlResolver) |
사용되지 않음.
XmlReaderSettings 클래스의 새 인스턴스를 초기화합니다. |
속성
| Name | Description |
|---|---|
| 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 설정됨)의 유효성을 검사하는 개체에 |
| ValidationType |
읽을 때 유효성 검사 또는 형식 할당을 수행할지 여부를 XmlReader 나타내는 값을 가져오거나 설정합니다. |
| XmlResolver |
XmlResolver 외부 문서에 액세스하는 데 사용되는 값을 설정합니다. |
메서드
| Name | Description |
|---|---|
| Clone() |
인스턴스의 복사본을 XmlReaderSettings 만듭니다. |
| Equals(Object) |
지정된 개체가 현재 개체와 같은지 여부를 확인합니다. (다음에서 상속됨 Object) |
| GetHashCode() |
기본 해시 함수로 사용됩니다. (다음에서 상속됨 Object) |
| GetType() |
현재 인스턴스의 Type 가져옵니다. (다음에서 상속됨 Object) |
| MemberwiseClone() |
현재 Object단순 복사본을 만듭니다. (다음에서 상속됨 Object) |
| Reset() |
설정 클래스의 멤버를 기본값으로 다시 설정합니다. |
| ToString() |
현재 개체를 나타내는 문자열을 반환합니다. (다음에서 상속됨 Object) |
이벤트
| Name | Description |
|---|---|
| ValidationEventHandler |
판독기에서 유효성 검사 오류가 발생할 때 발생합니다. |