Partager via


XmlDocument.XmlResolver Propriété

Définition

Définit la XmlResolver valeur à utiliser pour résoudre les ressources externes.

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

Valeur de propriété

À XmlResolver utiliser.

Dans la version 1.1 de the.NET Framework, l’appelant doit être entièrement approuvé pour spécifier un XmlResolver.

Exceptions

Cette propriété est définie null sur et une DTD externe ou une entité est rencontrée.

Exemples

L’exemple suivant charge un document XML qui inclut une référence à un fichier DTD. La XmlResolver propriété est utilisée pour définir les informations d’identification nécessaires pour accéder à la ressource réseau.

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

L’exemple utilise les fichiers de données suivants comme entrée.

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">

Remarques

Vous XmlResolver pouvez l’utiliser pour charger des DTD ou développer des références d’entité. À l’aide de la XmlResolver.Credentials propriété, vous pouvez définir des informations d’identification sur les XmlResolver ressources stockées sur une ressource réseau sécurisée.

  • Si le document n’a pas été chargé à l’aide d’un XmlReader document (autrement dit, s’il a été chargé à l’aide d’un flux, d’un fichier, et ainsi de suite) l’on XmlResolverXmlDocument est toujours utilisé.

  • Si le document a été chargé avec un XmlTextReader, le programme de résolution sur celui-ci XmlTextReader est utilisé pour résoudre les références DTD dans le nœud DocumentType. Le programme de résolution sur celui-ci XmlDocument est utilisé pour développer les références d’entité.

  • Si le document a été chargé avec un XmlValidatingReaderprogramme de résolution , le programme de résolution sur celui-ci XmlDocument n’est jamais utilisé.

  • Si le document a été chargé avec une classe qui s’étend XmlReader et que les XmlReader entités ne peuvent pas résoudre (CanResolveEntity renvoie false), l’élément sur lequel il XmlResolverXmlDocument est utilisé pour résoudre les références dans le nœud DocumentType et développer les références d’entité.

Note

Si le XmlDocument chargement est effectué à l’aide d’un XmlResolverXmlReader élément défini sur celui-ci, celui-ci XmlResolverXmlReader n’est pas mis en cache par la fin Load de l’opérationXmlDocument.

Dans la version 1.1 de the.NET Framework, si cette propriété n’est pas définie, le niveau d’approbation de l’application détermine le comportement par défaut.

Fully trusted code: Le document utilise une valeur par défaut XmlUrlResolver sans informations d’identification utilisateur. Si l’authentification est requise pour accéder à une ressource réseau, utilisez la XmlResolver propriété pour spécifier les XmlResolver informations d’identification nécessaires.

Semi-trusted code: La XmlResolver propriété est définie sur null. Les ressources externes ne sont pas résolues.

Pour plus d’informations sur la sécurité et la XmlResolver propriété, consultez Résolution des ressources externes.

Cette propriété est une extension Microsoft au modèle DOM (Document Object Model).

S’applique à

Voir aussi