다음을 통해 공유


XmlDocument.XmlResolver 속성

정의

XmlResolver 외부 리소스를 확인하는 데 사용할 값을 설정합니다.

public:
 virtual property System::Xml::XmlResolver ^ XmlResolver {  void set(System::Xml::XmlResolver ^ value); };
public virtual System.Xml.XmlResolver? XmlResolver { set; }
public virtual System.Xml.XmlResolver XmlResolver { set; }
member this.XmlResolver : System.Xml.XmlResolver
Public Overridable Property XmlResolver As XmlResolver

속성 값

XmlResolver 사용할 수 있습니다.

the.NET Framework 버전 1.1에서 호출자를 지정 XmlResolver하려면 호출자를 완전히 신뢰할 수 있어야 합니다.

예외

이 속성이 설정 null 되고 외부 DTD 또는 엔터티가 발견됩니다.

예제

다음 예제에서는 DTD 파일에 대한 참조를 포함하는 XML 문서를 로드합니다. 이 XmlResolver 속성은 네트워크 리소스에 액세스하는 데 필요한 자격 증명을 설정하는 데 사용됩니다.

using System;
using System.IO;
using System.Xml;
using System.Net;

public class Sample {

  public static void Main() {

    // Supply the credentials necessary to access the DTD file stored on the network.
    XmlUrlResolver resolver = new XmlUrlResolver();
    resolver.Credentials = CredentialCache.DefaultCredentials;

    // Create and load the XmlDocument.
    XmlDocument doc = new XmlDocument();
    doc.XmlResolver = resolver;  // Set the resolver.
    doc.Load("book5.xml");

    // Display the entity replacement text which is pulled from the DTD file.
    Console.WriteLine(doc.DocumentElement.LastChild.InnerText);
  }
} // End class
Imports System.IO
Imports System.Xml
Imports System.Net

public class Sample 

  public shared sub Main()

    ' Supply the credentials necessary access the DTD file stored on the network.
    Dim resolver as XmlUrlResolver = new XmlUrlResolver()
    resolver.Credentials = CredentialCache.DefaultCredentials

    ' Create and load the XmlDocument.
    Dim doc as XmlDocument = new XmlDocument()
    doc.XmlResolver = resolver  ' Set the resolver.
    doc.Load("book5.xml")

    ' Display the entity replacement text which is pulled from the DTD file.
    Console.WriteLine(doc.DocumentElement.LastChild.InnerText)
  
  end sub
end class

이 예제에서는 다음 데이터 파일을 입력으로 사용합니다.

book5.xml

<!DOCTYPE book SYSTEM 'http://myServer/data/books.dtd'>
<book ISBN = '1-861001-57-5'>
  <title>Oberon's Legacy</title>
  <price>19.95</price>
  <misc>&h;</misc>
</book>

books.dtd

<!ELEMENT book (title,price,misc)> 
<!ATTLIST book 
   genre CDATA "novel"
   ISBN CDATA #REQUIRED>
<!ELEMENT title (#PCDATA)>
<!ELEMENT price (#PCDATA)>
<!ELEMENT misc (#PCDATA)>
<!ENTITY h "hardcover">
<!ENTITY p "paperback">

설명

DTD XmlResolver 를 로드하거나 엔터티 참조를 확장하는 데 사용할 수 있습니다. 이 XmlResolver.Credentials 속성을 사용하면 보안 네트워크 리소스에 저장된 리소스에 XmlResolver 액세스하기 위해 자격 증명을 설정할 수 있습니다.

  • 문서를 사용하여 XmlReader 로드되지 않은 경우(즉, 스트림, 파일 등을 사용하여 로드된 경우) XmlResolver 항상 해당 문서가 XmlDocument 사용됩니다.

  • 문서가 로드 XmlTextReader된 경우 DocumentType 노드에서 XmlTextReader DTD 참조를 확인하는 데 확인자를 사용합니다. 이 확인자는 XmlDocument 엔터티 참조를 확장하는 데 사용됩니다.

  • 문서가 로드된 XmlValidatingReader경우 해당 문서의 확인자는 XmlDocument 사용되지 않습니다.

  • 문서가 확장 XmlReaderXmlReader 되는 클래스와 함께 로드되고 엔터티를 확인할 수 없는 경우(CanResolveEntity 반환 false) XmlResolver On XmlDocument 은 DocumentType 노드의 참조를 확인하고 엔터티 참조를 확장하는 데 사용됩니다.

메모

집합 XmlResolverXmlReaderXmlDocument 있는 XmlResolver 항목을 사용하여 XmlReader 로드되는 경우 on은 완료된 후에 Load 캐시 XmlDocument 되지 않습니다.

the.NET Framework 버전 1.1에서 이 속성이 설정되지 않은 경우 애플리케이션의 신뢰 수준이 기본 동작을 결정합니다.

Fully trusted code: 문서에서는 사용자 자격 증명 없이 기본값 XmlUrlResolver 을 사용합니다. 네트워크 리소스에 액세스하는 데 인증이 필요한 경우 속성을 사용하여 XmlResolver 필요한 자격 증명을 XmlResolver 사용하여 지정합니다.

Semi-trusted code: 속성이 XmlResolver .로 설정됩니다 null. 외부 리소스는 확인되지 않습니다.

보안 및 XmlResolver 속성에 대한 자세한 내용은 외부 리소스 해결을 참조하세요.

이 속성은 DOM(문서 개체 모델)에 대한 Microsoft 확장입니다.

적용 대상

추가 정보