XmlDocument.XmlResolver Özellik
Tanım
Önemli
Bazı bilgiler ürünün ön sürümüyle ilgilidir ve sürüm öncesinde önemli değişiklikler yapılmış olabilir. Burada verilen bilgilerle ilgili olarak Microsoft açık veya zımni hiçbir garanti vermez.
XmlResolver dış kaynakları çözümlemek için kullanılacak öğesini ayarlar.
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
Özellik Değeri
XmlResolver
Kullanılacak.
the.NET Framework'ün 1.1 sürümünde, çağıranın belirtebilmesi XmlResolver
için tam olarak güvenilir olması gerekir.
Özel durumlar
Bu özellik olarak null
ayarlanır ve bir dış DTD veya varlıkla karşılaşılır.
Örnekler
Aşağıdaki örnek, DTD dosyasına başvuru içeren bir XML belgesini yükler.
XmlResolver
özelliği, ağ kaynağına erişmek için gereken kimlik bilgilerini ayarlamak için kullanılır.
#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
Örnekte giriş olarak aşağıdaki veri dosyaları kullanılır.
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">
Açıklamalar
XmlResolver
, DTD'leri yüklemek veya varlık başvurularını genişletmek için kullanılabilir.
XmlResolver.Credentials özelliğini kullanarak, güvenli bir ağ kaynağında XmlResolver
depolanan kaynaklara erişmek için üzerinde kimlik bilgilerini ayarlayabilirsiniz.
Belge bir kullanılarak yüklenmediyse (başka bir XmlReader ifadeyle, bir akış, dosya vb. kullanılarak yüklendiyse)
XmlResolver
üzerindeXmlDocument
her zaman kullanılır.Belge bir XmlTextReaderile yüklendiyse, üzerindeki çözümleyici
XmlTextReader
DocumentType düğümündeki DTD başvurularını çözümlemek için kullanılır. üzerindekiXmlDocument
çözümleyici, varlık başvurularını genişletmek için kullanılır.Belge bir XmlValidatingReaderile yüklendiyse üzerindeki çözümleyici
XmlDocument
hiçbir zaman kullanılmaz.Belge genişleten
XmlReader
bir sınıfla yüklendiyse veXmlReader
varlıkları çözümleyemiyorsa (CanResolveEntity döndürürfalse
),XmlResolver
üzerindekiXmlDocument
öğesi DocumentType düğümündeki başvuruları çözümlemek ve varlık başvurularını genişletmek için kullanılır.
Not
XmlDocument
, üzerinde ayarlanmış olan bir XmlReaderXmlResolver
kullanılarak yüklenirse, XmlResolver
üzerindeki XmlReader
tamamlandıktan sonra Load tarafından XmlDocument
önbelleğe alınmaz.
the.NET Framework'ün 1.1 sürümünde, bu özellik ayarlanmadıysa, uygulamanın güven düzeyi varsayılan davranışı belirler.
Fully trusted code:
Belge, kullanıcı kimlik bilgileri olmayan bir varsayılan XmlUrlResolver kullanır. Bir ağ kaynağına erişmek için kimlik doğrulaması gerekiyorsa, gerekli kimlik bilgileriyle belirtmek XmlResolver
için özelliğini kullanınXmlResolver
.
Semi-trusted code:
XmlResolver
özelliği olarak null
ayarlanır. Dış kaynaklar çözümlenmedi.
Güvenlik ve XmlResolver
özellik hakkında daha fazla bilgi için bkz. Dış Kaynakları Çözümleme.
Bu özellik, Belge Nesne Modeli'nin (DOM) Microsoft bir uzantısıdır.