XmlDocument.XmlResolver Properti
Definisi
Penting
Beberapa informasi terkait produk prarilis yang dapat diubah secara signifikan sebelum dirilis. Microsoft tidak memberikan jaminan, tersirat maupun tersurat, sehubungan dengan informasi yang diberikan di sini.
Mengatur yang XmlResolver akan digunakan untuk menyelesaikan sumber daya eksternal.
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
Nilai Properti
yang XmlResolver akan digunakan.
Dalam versi 1.1 dari the.NET Framework, pemanggil harus sepenuhnya dipercaya untuk menentukan XmlResolver.
Pengecualian
Properti ini diatur ke null dan DTD atau entitas eksternal ditemui.
Contoh
Contoh berikut memuat dokumen XML yang menyertakan referensi ke file DTD. Properti XmlResolver digunakan untuk mengatur kredensial yang diperlukan untuk mengakses sumber daya jaringan.
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
Contohnya menggunakan file data berikut sebagai 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">
Keterangan
XmlResolver dapat digunakan untuk memuat DTD atau memperluas referensi entitas.
XmlResolver.Credentials Dengan menggunakan properti , Anda dapat mengatur kredensial tentang XmlResolver untuk mengakses sumber daya yang disimpan pada sumber daya jaringan yang aman.
Jika dokumen tidak dimuat menggunakan XmlReader (yaitu, jika dimuat menggunakan aliran, file, dan sebagainya)
XmlResolverpadaXmlDocumentselalu digunakan.Jika dokumen dimuat dengan XmlTextReader, resolver pada
XmlTextReaderdigunakan untuk menyelesaikan referensi DTD apa pun di simpul DocumentType. Resolver padaXmlDocumentdigunakan untuk memperluas referensi entitas apa pun.Jika dokumen dimuat dengan XmlValidatingReader, resolver pada
XmlDocumenttidak pernah digunakan.Jika dokumen dimuat dengan kelas yang diperluas
XmlReaderdanXmlReadertidak dapat menyelesaikan entitas (CanResolveEntity mengembalikanfalse),XmlResolverpadaXmlDocumentdigunakan untuk menyelesaikan referensi apa pun dalam simpul DocumentType dan untuk memperluas referensi entitas apa pun.
Nota
Jika dimuat XmlDocument menggunakan XmlReader yang memiliki set XmlResolver ke dalamnya, XmlResolver pada XmlReader tidak di-cache oleh XmlDocument setelah Load selesai.
Dalam versi 1.1 dari the.NET Framework, jika properti ini tidak diatur, tingkat kepercayaan aplikasi menentukan perilaku default.
Fully trusted code: Dokumen menggunakan default XmlUrlResolver tanpa kredensial pengguna. Jika autentikasi diperlukan untuk mengakses sumber daya jaringan, gunakan XmlResolver properti untuk menentukan dengan kredensial yang XmlResolver diperlukan.
Semi-trusted code: Properti XmlResolver diatur ke null. Sumber daya eksternal tidak diselesaikan.
Untuk informasi selengkapnya tentang keamanan dan XmlResolver properti , lihat Mengatasi Sumber Daya Eksternal.
Properti ini adalah ekstensi Microsoft ke Model Objek Dokumen (DOM).