XmlDocument.XmlResolver XmlDocument.XmlResolver XmlDocument.XmlResolver XmlDocument.XmlResolver Property

정의

외부 리소스 확인을 위해 사용할 XmlResolver를 설정합니다.Sets the XmlResolver to use for resolving external resources.

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

속성 값

사용할 XmlResolver입니다.The XmlResolver to use.

.NET Framework 버전 1.1에서는 완전히 신뢰할 수 있는 호출자만 XmlResolver를 지정할 수 있습니다.In version 1.1 of the.NET Framework, the caller must be fully trusted in order to specify an XmlResolver.

예외

이 속성이 null로 설정되어 있고 외부 DTD 또는 엔터티가 발생했습니다.This property is set to null and an external DTD or entity is encountered.

예제

다음 예제에서는 DTD 파일에 대 한 참조를 포함 하는 XML 문서를 로드 합니다.The following example loads an XML document which includes a reference to a DTD file. XmlResolver 속성은 네트워크 리소스에 액세스 하는 데 필요한 자격 증명을 설정 하는 데 사용 됩니다.The XmlResolver property is used to set the credentials necessary to access the network resource.

#using <System.dll>
#using <System.Xml.dll>

using namespace System;
using namespace System::IO;
using namespace System::Xml;
using namespace System::Net;
int main()
{
   
   // Supply the credentials necessary to access the DTD file stored on the network.
   XmlUrlResolver^ resolver = gcnew XmlUrlResolver;
   resolver->Credentials = CredentialCache::DefaultCredentials;
   
   // Create and load the XmlDocument.
   XmlDocument^ doc = gcnew 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 );
}

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

이 예제에서는 입력으로 다음 데이터 파일을 사용 합니다.The example uses the following data files as input.

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">

설명

XmlResolver Dtd를 로드 또는 엔터티 참조 확장에 사용할 수 있습니다.The XmlResolver can be used to load DTDs or expand entity references. 사용 하 여를 XmlResolver.Credentials 속성에 자격 증명을 설정할 수 있습니다를 XmlResolver 보안 네트워크 리소스에 저장 된 리소스에 액세스할 수 있습니다.Using the XmlResolver.Credentials property, you can set credentials on the XmlResolver to access resources stored on a secure network resource.

  • 문서를 사용 하 여 로드 한 경우는 XmlReader (즉, 스트림을 사용 하 여 로드 된 경우 파일 및 등)를 XmlResolverXmlDocument 항상 사용 됩니다.If the document was not loaded using an XmlReader (that is, if it was loaded using a stream, file, and so on) the XmlResolver on the XmlDocument is always used.

  • 문서를 사용 하 여 로드 하는 경우는 XmlTextReader, 확인자에는 XmlTextReader DocumentType 노드에서 DTD 참조를 확인 하는 데 사용 됩니다.If the document was loaded with an XmlTextReader, the resolver on the XmlTextReader is used to resolve any DTD references in the DocumentType node. 확인 기는 XmlDocument 엔터티 참조를 확장 하는 데 사용 됩니다.The resolver on the XmlDocument is used to expand any entity references.

  • 문서를 사용 하 여 로드 하는 경우는 XmlValidatingReader, 확인자에는 XmlDocument 사용 되지 않습니다.If the document was loaded with an XmlValidatingReader, the resolver on the XmlDocument is never used.

  • 확장 하는 클래스를 사용 하 여 문서를 로드 하는 경우 XmlReader 하며 XmlReader 엔터티를 확인할 수 없습니다 (CanResolveEntity 반환 false), XmlResolver 에서 XmlDocument DocumentType 노드에서 참조를 확인 하는 데 사용 됩니다 및 모든 엔터티 참조를 확장 합니다.If the document was loaded with a class that extends XmlReader and the XmlReader cannot resolve entities (CanResolveEntity returns false), the XmlResolver on the XmlDocument is used to resolve any references in the DocumentType node and to expand any entity references.

참고

경우는 XmlDocument 를 사용 하 여 로드 되는 XmlReader 있었습니다는 XmlResolver 를 설정를 XmlResolverXmlReader 에서 캐시 되지 않습니다를 XmlDocumentLoad 완료 합니다.If the XmlDocument is loaded using an XmlReader which had an XmlResolver set to it, the XmlResolver on the XmlReader is not cached by the XmlDocument after Load completes.

.NET Framework의 버전 1.1에서는이 속성을 설정 하지 않으면 애플리케이션의 신뢰 수준을 기본 동작을 결정 합니다.In version 1.1 of the.NET Framework, if this property is not set, the trust level of the application determines the default behavior.

Fully trusted code: 기본값을 사용 하는 문서의 XmlUrlResolver 사용자 자격 증명 없이 합니다.Fully trusted code: The document uses a default XmlUrlResolver with no user credentials. 사용 하 여 네트워크 리소스에 액세스 하는 데 인증이 필요 합니다 XmlResolver 속성에 지정할는 XmlResolver 에 필요한 자격 증명입니다.If authentication is required to access a network resource, use the XmlResolver property to specify an XmlResolver with the necessary credentials.

Semi-trusted code: 합니다 XmlResolver 속성이 null합니다.Semi-trusted code: The XmlResolver property is set to null. 외부 리소스가 확인 되지 않습니다.External resources are not resolved.

보안에 대 한 자세한 내용은 하며 XmlResolver 속성을 참조 하세요 외부 리소스 확인합니다.For more information on security and the XmlResolver property, see Resolving External Resources.

이 속성은 DOM(문서 개체 모델)에 대한 Microsoft 확장입니다.This property is a Microsoft extension to the Document Object Model (DOM).

적용 대상

추가 정보