Esporta (0) Stampa
Espandi tutto

Proprietà XmlDocument.XmlResolver

Aggiornamento: novembre 2007

Imposta l'XmlResolver da utilizzare per la risoluzione delle risorse esterne.

Spazio dei nomi:  System.Xml
Assembly:  System.Xml (in System.Xml.dll)

public virtual XmlResolver XmlResolver { set; }
/** @property */
public  void set_XmlResolver(XmlResolver value)

public function set XmlResolver (value : XmlResolver)

Valore proprietà

Tipo: System.Xml.XmlResolver
XmlResolver da utilizzare.
Nella versione 1.1 di .NET Framework, per specificare un XmlResolver è necessario che il chiamante sia completamente attendibile.

EccezioneCondizione
XmlException

Questa proprietà è impostata su null e viene rilevata una DTD o un'entità esterna.

L'XmlResolver può essere utilizzato per caricare DTD o espandere i riferimenti a entità. Mediante la proprietà XmlResolver.Credentials è possibile impostare le credenziali nell'XmlResolver per accedere alle risorse archiviate su una risorsa di rete sicura.

  • Se il documento non è stato caricato tramite un XmlReader, ossia è stato caricato tramite un flusso, un file e così via, verrà utilizzato sempre l'XmlResolver sull'XmlDocument.

  • Se il documento è stato caricato con un XmlTextReader, verrà utilizzato il sistema di risoluzione sull'XmlTextReader per risolvere eventuali riferimenti DTD nel nodo DocumentType. Il sistema di risoluzione sull'XmlDocument viene utilizzato per espandere i riferimenti a entità.

  • Se il documento è stato caricato con un XmlValidatingReader, non verrà mai utilizzato il sistema di risoluzione sull'XmlDocument.

  • Se il documento è stato caricato con una classe che estende la classe XmlReader e questa XmlReader non è in grado di risolvere le entità (CanResolveEntity restituisce false), per risolvere i riferimenti nel nodo DocumentType ed espandere i riferimenti a entità verrà utilizzato l'XmlResolver sull'XmlDocument.

wt9375yb.alert_note(it-it,VS.90).gifNota:

Se l'XmlDocument viene caricato utilizzando un XmlReader sul quale era impostato un XmlResolver, l'XmlResolver sull'XmlReader non verrà memorizzato nella cache dall'XmlDocument una volta completata l'esecuzione di Load.

Nella versione 1.1 di .NET Framework, se questa proprietà non è impostata, il comportamento predefinito è determinato dal livello di attendibilità.

Fully trusted code: Il documento utilizza un XmlUrlResolver predefinito privo di credenziali utente. Se per accedere a una determinata risorsa di rete è necessaria l'autenticazione, utilizzare la proprietà XmlResolver per specificare un XmlResolver con le credenziali richieste.

Semi-trusted code: La proprietà XmlResolver è impostata su null. Le risorse esterne non sono risolte.

Per ulteriori informazioni sulla sicurezza e sulla proprietà XmlResolver, vedere Risoluzione di risorse esterne.

Questa proprietà è un'estensione Microsoft a Document Object Model (DOM).

Nell'esempio seguente viene caricato un documento XML che include un riferimento a un file DTD. La proprietà XmlResolver 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


Nell'esempio vengono utilizzati i seguenti file di dati 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">


Windows Vista, Windows XP SP2, Windows XP Media Center Edition, Windows XP Professional x64 Edition , Windows XP Starter Edition, Windows Server 2003, Windows Server 2000 SP4, Windows Millennium Edition, Windows 98, Windows CE, Windows Mobile per Smartphone, Windows Mobile per Pocket PC, Xbox 360

.NET Framework e .NET Compact Framework non supportano tutte le versioni di ciascuna piattaforma. Per un elenco delle versioni supportate, vedere Requisiti di sistema di .NET Framework.

.NET Framework

Supportato in: 3.5, 3.0, 2.0, 1.1, 1.0

.NET Compact Framework

Supportato in: 3.5, 2.0, 1.0

XNA Framework

Supportato in: 2.0, 1.0

Aggiunte alla community

AGGIUNGI
Microsoft sta conducendo un sondaggio in linea per comprendere l'opinione degli utenti in merito al sito Web di MSDN. Se si sceglie di partecipare, quando si lascia il sito Web di MSDN verrà visualizzato il sondaggio in linea.

Si desidera partecipare?
Mostra:
© 2014 Microsoft