다음을 통해 공유


XmlResolver를 사용하여 리소스 확인

업데이트: November 2007

XmlReader 클래스는 XmlResolver를 사용하여 외부 DTD, 엔터티 및 스키마를 확인합니다. XmlReader 클래스는 기본적으로 사용자 자격 증명 없이 XmlUrlResolver를 사용합니다. XmlResolver 속성을 설정하고 XmlReaderSettings 개체를 Create 메서드에 전달하여 사용할 XmlResolver를 지정합니다.

다음 코드는 기본 자격 증명으로 XmlUrlResolver를 사용하는 XmlReader 인스턴스를 만듭니다.

' 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("https://ServerName/data/books.xml", settings)
// 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("https://ServerName/data/books.xml", settings);
// Create a resolver with default credentials.
XmlUrlResolver^ resolver = gcnew 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( L"https://ServerName/data/books.xml", settings );

books.xml 파일에 외부 DTD가 포함되어 있는 경우 XmlReader는 다음과 같은 방법으로 해당 파일을 처리합니다. DTD를 확인하기 위해 XmlReaderGetEntity 메서드를 호출하여 스트림으로 표시된 엔터티를 가져옵니다. DTD의 URI가 상대 URI인 경우 XmlReaderResolveUri 메서드를 호출하고 주어진 relativeUri 및 baseUri에 대한 절대 URI를 반환합니다. XmlResolver에서 주어진 URI를 확인하는 방법을 모르는 경우 null 참조를 반환합니다.

GetEntity 메서드는 Credentials 속성의 정보를 적절히 사용하여 리소스에 액세스합니다.보안상 이유로 이 속성에는 get 접근자가 없습니다. XmlResolver를 덮어쓰면 GetEntity 메서드는 Credentials 속성의 자격 증명 정보를 사용합니다.

다른 모든 XML 리소스를 확인하는 것은 DTD를 확인하는 것과 매우 유사합니다. XmlResolver는 외부 리소스와의 연결을 협상하는 방법만 알면 되며 스트림으로 표시된 내용을 반환합니다. 또한 스트림 해석 작업을 수행하는 XmlResolver를 호출하는 개체입니다.

참고 항목

개념

파일에서 읽을 때 XmlResolver에 인증 자격 증명 제공

XmlReader에 대한 외부 리소스 액세스

XSLT 처리 중 외부 리소스 확인

기타 리소스

URI에 의해 명명된 외부 XML 리소스 확인