XmlDocument.XmlResolver Eigenschap
Definitie
Belangrijk
Bepaalde informatie heeft betrekking op een voorlopige productversie die aanzienlijk kan worden gewijzigd voordat deze wordt uitgebracht. Microsoft biedt geen enkele expliciete of impliciete garanties met betrekking tot de informatie die hier wordt verstrekt.
Hiermee stelt u het te gebruiken voor het XmlResolver oplossen van externe resources.
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
Waarde van eigenschap
De XmlResolver te gebruiken.
In versie 1.1 van het.NET Framework moet de aanroeper volledig worden vertrouwd om een XmlResolver op te geven.
Uitzonderingen
Deze eigenschap is ingesteld op null en er wordt een externe DTD of entiteit aangetroffen.
Voorbeelden
In het volgende voorbeeld wordt een XML-document geladen dat een verwijzing naar een DTD-bestand bevat. De XmlResolver eigenschap wordt gebruikt om de referenties in te stellen die nodig zijn voor toegang tot de netwerkresource.
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
In het voorbeeld worden de volgende gegevensbestanden als invoer gebruikt.
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">
Opmerkingen
U XmlResolver kunt deze gebruiken om DTD's te laden of entiteitsverwijzingen uit te vouwen. Met behulp van de XmlResolver.Credentials eigenschap kunt u referenties instellen voor XmlResolver toegang tot resources die zijn opgeslagen op een beveiligde netwerkresource.
Als het document niet is geladen met behulp van een XmlReader (dat wil gezegd, als het is geladen met behulp van een stream, bestand, enzovoort), wordt het
XmlResolverdocumentXmlDocumentaltijd gebruikt.Als het document is geladen met een XmlTextReader, wordt de resolver op de
XmlTextReaderomslag gebruikt om eventuele DTD-verwijzingen in het DocumentType-knooppunt op te lossen. De resolver op deXmlDocumentoplossing wordt gebruikt om eventuele entiteitsverwijzingen uit te vouwen.Als het document is geladen met een XmlValidatingReader, wordt de resolver op het
XmlDocumentdocument nooit gebruikt.Als het document is geladen met een klasse die uitbreidt
XmlReaderen deXmlReaderentiteiten niet kunnen worden omgezet (CanResolveEntity retourneertfalse), wordt deXmlResolveron-premisesXmlDocumentgebruikt om verwijzingen in het DocumentType-knooppunt op te lossen en om entiteitsverwijzingen uit te vouwen.
Note
Als het XmlDocument bestand wordt geladen met een XmlReader set die XmlResolver erop is ingesteld, wordt de XmlResolver op de XmlReader computer niet in de XmlDocumentLoad cache opgeslagen nadat deze is voltooid.
Als deze eigenschap niet is ingesteld in versie 1.1 van het.NET Framework, bepaalt het vertrouwensniveau van de toepassing het standaardgedrag.
Fully trusted code: Het document maakt gebruik van een standaardinstelling XmlUrlResolver zonder gebruikersreferenties. Als verificatie is vereist voor toegang tot een netwerkresource, gebruikt u de XmlResolver eigenschap om een XmlResolver met de benodigde referenties op te geven.
Semi-trusted code: De XmlResolver eigenschap is ingesteld op null. Externe resources worden niet opgelost.
Zie XmlResolver voor meer informatie over beveiliging en de eigenschap.
Deze eigenschap is een Microsoft extensie voor het Document Object Model (DOM).