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
입니다.
.NET Framework 버전 1.1에서는 완전히 신뢰할 수 있는 호출자만 XmlResolver
를 지정할 수 있습니다.
예외
이 속성이 null
로 설정되어 있고 외부 DTD 또는 엔터티가 발생했습니다.
예제
다음 예제에서는 DTD 파일에 대한 참조를 포함하는 XML 문서를 로드합니다. 이 XmlResolver
속성은 네트워크 리소스에 액세스하는 데 필요한 자격 증명을 설정하는 데 사용됩니다.
#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.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
항상 onXmlDocument
이 사용됩니다.문서가 로드 XmlTextReader된 경우 문서의 확인자가 DocumentType 노드에서
XmlTextReader
DTD 참조를 확인하는 데 사용됩니다. 확인자가XmlDocument
엔터티 참조를 확장하는 데 사용됩니다.문서가 로드된 XmlValidatingReader경우 해당 문서의 확인자가
XmlDocument
사용되지 않습니다.문서가 확장
XmlReader
XmlReader
되는 클래스와 함께 로드되었고 엔터티(반환false
)XmlDocument
CanResolveEntityXmlResolver
를 확인할 수 없는 경우 해당 항목은 DocumentType 노드에서 참조를 확인하고 엔터티 참조를 확장하는 데 사용됩니다.
참고
집합 XmlResolver
XmlReader
이 XmlDocument
있는 XmlResolver
항목을 사용하여 XmlReader 로드되는 경우 on은 완료된 후에 Load 캐시 XmlDocument
되지 않습니다.
.NET Framework의 버전 1.1에서는이 속성을 설정 하지 않으면 애플리케이션의 신뢰 수준을 기본 동작을 결정 합니다.
Fully trusted code:
문서에서는 사용자 자격 증명이 없는 기본값 XmlUrlResolver 을 사용합니다. 네트워크 리소스에 액세스하는 데 인증이 필요한 경우 속성을 사용하여 XmlResolver
필요한 자격 증명을 XmlResolver
사용하여 지정합니다.
Semi-trusted code:
속성이 XmlResolver
.로 설정됩니다 null
. 외부 리소스는 확인되지 않습니다.
보안 및 XmlResolver
속성에 대한 자세한 내용은 외부 리소스 해결을 참조하세요.
이 속성은 DOM(문서 개체 모델)에 대한 Microsoft 확장입니다.