XmlReaderSettings.XmlResolver Proprietà

Definizione

Imposta l'oggetto XmlResolver usato per l'accesso a documenti esterni.

public:
 property System::Xml::XmlResolver ^ XmlResolver {  void set(System::Xml::XmlResolver ^ value); };
public System.Xml.XmlResolver? XmlResolver { set; }
public System.Xml.XmlResolver XmlResolver { set; }
member this.XmlResolver : System.Xml.XmlResolver
Public Property XmlResolver As XmlResolver

Valore della proprietà

XmlResolver

Oggetto XmlResolver usato per l'accesso a documenti esterni. Se il valore è impostato su null, viene generata un'eccezione XmlException quando l'oggetto XmlReader prova ad accedere a una risorsa esterna. L'impostazione predefinita è un nuovo oggetto XmlUrlResolver senza credenziali. A partire da .NET Framework 4.5.2, il valore predefinito di questa impostazione è null.

Esempio

Nell'esempio seguente viene creato un oggetto che usa un XmlReader XmlSecureResolver con le credenziali predefinite.

// Create an XmlSecureResolver with default credentials.
XmlSecureResolver myResolver = new XmlSecureResolver(new XmlUrlResolver(), "http://serverName/data/");
myResolver.Credentials = CredentialCache.DefaultCredentials;

XmlReaderSettings settings = new XmlReaderSettings();
settings.XmlResolver = myResolver;

// Create the reader.
XmlReader reader = XmlReader.Create("http://serverName/data/books.xml", settings);
' Create an XmlSecureResolver with default credentials.
Dim myResolver As New XmlSecureResolver(New XmlUrlResolver(), "http://serverName/data/")
myResolver.Credentials = CredentialCache.DefaultCredentials

Dim settings As New XmlReaderSettings()
settings.XmlResolver = myResolver

' Create the reader.
Dim reader As XmlReader = XmlReader.Create("http://serverName/data/books.xml", settings)

Commenti

Viene XmlResolver usato per individuare e aprire un documento di istanza XML oppure per individuare e aprire eventuali risorse esterne a cui fa riferimento il documento dell'istanza XML. Ciò può includere entità, DTD o schemi. La XmlResolver.Credentials proprietà può essere usata per specificare le credenziali necessarie per l'autenticazione di rete.

Importante

Poiché può XmlResolver contenere informazioni riservate, ad esempio le credenziali utente, è consigliabile prestare attenzione quando si memorizzano nella cache XmlReaderSettings oggetti o quando si passa l'oggetto XmlReaderSettings da un componente a un altro.

Un XmlSecureResolver oggetto può essere usato per accedere a documenti esterni. La XmlSecureResolver classe consente di proteggere un'altra implementazione di eseguendo il wrapping dell'oggetto XmlResolver e limitando le risorse a cui ha accesso l'oggetto XmlResolver sottostante XmlResolver .

Per impostazione predefinita, i flag di convalida ProcessInlineSchema e ProcessSchemaLocation dell'oggetto XmlReaderSettings non sono impostati. Se questi flag sono impostati, verrà utilizzata la proprietà XmlResolver dell'oggetto XmlReaderSettings per risolvere i percorsi dello schema rilevati nel documento di istanza nel tipo XmlReader. Se l'oggetto XmlResolver è null, le posizioni dello schema non vengono risolte anche se vengono impostati i ProcessInlineSchema flag di convalida e ProcessSchemaLocation .

Gli schemi aggiunti durante la convalida aggiungono nuovi tipi e possono alterare l'esito della convalida del documento in esame. Di conseguenza, gli schemi esterni devono essere risolti solo da origini attendibili.

Si applica a

Vedi anche