XmlDocument.XmlResolver 속성
정의
중요
일부 정보는 릴리스되기 전에 상당 부분 수정될 수 있는 시험판 제품과 관련이 있습니다. Microsoft는 여기에 제공된 정보에 대해 어떠한 명시적이거나 묵시적인 보증도 하지 않습니다.
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 노드에서
XmlTextReaderDTD 참조를 확인하는 데 확인자를 사용합니다. 이 확인자는XmlDocument엔터티 참조를 확장하는 데 사용됩니다.문서가 로드된 XmlValidatingReader경우 해당 문서의 확인자는
XmlDocument사용되지 않습니다.문서가 확장
XmlReaderXmlReader되는 클래스와 함께 로드되고 엔터티를 확인할 수 없는 경우(CanResolveEntity 반환false)XmlResolverOnXmlDocument은 DocumentType 노드의 참조를 확인하고 엔터티 참조를 확장하는 데 사용됩니다.
메모
집합 XmlResolverXmlReader 이 XmlDocument 있는 XmlResolver 항목을 사용하여 XmlReader 로드되는 경우 on은 완료된 후에 Load 캐시 XmlDocument 되지 않습니다.
the.NET Framework 버전 1.1에서 이 속성이 설정되지 않은 경우 애플리케이션의 신뢰 수준이 기본 동작을 결정합니다.
Fully trusted code: 문서에서는 사용자 자격 증명 없이 기본값 XmlUrlResolver 을 사용합니다. 네트워크 리소스에 액세스하는 데 인증이 필요한 경우 속성을 사용하여 XmlResolver 필요한 자격 증명을 XmlResolver 사용하여 지정합니다.
Semi-trusted code: 속성이 XmlResolver .로 설정됩니다 null. 외부 리소스는 확인되지 않습니다.
보안 및 XmlResolver 속성에 대한 자세한 내용은 외부 리소스 해결을 참조하세요.
이 속성은 DOM(문서 개체 모델)에 대한 Microsoft 확장입니다.