XmlDocument.XmlResolver Proprietà
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
Imposta l'oggetto XmlResolver da utilizzare per la risoluzione delle risorse esterne.
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
Valore della proprietà
Oggetto XmlResolver da utilizzare.
Nella versione 1.1 di the.NET Framework, il chiamante deve essere completamente attendibile per specificare un oggetto XmlResolver.
Eccezioni
Questa proprietà è impostata su null e viene rilevata un'entità O DTD esterna.
Esempio
Nell'esempio seguente viene caricato un documento XML che include un riferimento a un file DTD. La XmlResolver proprietà viene utilizzata per impostare le credenziali necessarie per accedere alla risorsa di rete.
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
Nell'esempio vengono usati i file di dati seguenti come 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">
Commenti
XmlResolver Può essere usato per caricare IDD o espandere i riferimenti alle entità. Usando la XmlResolver.Credentials proprietà , è possibile impostare le credenziali in XmlResolver per accedere alle risorse archiviate in una risorsa di rete sicura.
Se il documento non è stato caricato utilizzando un XmlReader oggetto , ovvero se è stato caricato usando un flusso, un file e così via, viene sempre utilizzato su
XmlResolverXmlDocument.Se il documento è stato caricato con un XmlTextReaderoggetto , il resolver in
XmlTextReaderviene usato per risolvere eventuali riferimenti DTD nel nodo DocumentType. Il sistema di risoluzione inXmlDocumentviene usato per espandere i riferimenti a qualsiasi entità.Se il documento è stato caricato con un XmlValidatingReaderoggetto , il sistema di risoluzione su
XmlDocumentnon viene mai utilizzato.Se il documento è stato caricato con una classe che estende
XmlReadere nonXmlReaderè in grado di risolvere le entità (CanResolveEntity restituiscefalse), vieneXmlResolverXmlDocumentusato su per risolvere eventuali riferimenti nel nodo DocumentType e per espandere eventuali riferimenti all'entità.
Annotazioni
Se l'oggetto XmlDocument viene caricato utilizzando un oggetto XmlReader impostato XmlResolver su di esso, l'oggetto XmlReaderXmlResolver in non viene memorizzato nella cache da dopo Load il XmlDocument completamento.
Nella versione 1.1 di the.NET Framework, se questa proprietà non è impostata, il livello di attendibilità dell'applicazione determina il comportamento predefinito.
Fully trusted code: Il documento usa un valore predefinito XmlUrlResolver senza credenziali utente. Se l'autenticazione è necessaria per accedere a una risorsa di rete, usare la XmlResolver proprietà per specificare un XmlResolver oggetto con le credenziali necessarie.
Semi-trusted code: La XmlResolver proprietà è impostata su null. Le risorse esterne non vengono risolte.
Per altre informazioni sulla sicurezza e sulla XmlResolver proprietà , vedere Risoluzione delle risorse esterne.
Questa proprietà è un'estensione Microsoft per il DOM (Document Object Model).