XmlDocument.XmlResolver XmlDocument.XmlResolver XmlDocument.XmlResolver XmlDocument.XmlResolver Property

Definition

Legt den für die Auflösung externer Ressourcen zu verwendenden XmlResolver fest.Sets the XmlResolver to use for resolving external resources.

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

Eigenschaftswert

Der zu verwendende XmlResolver.The XmlResolver to use.

In .NET Framework, Version 1.1, kann nur ein vollständig vertrauenswürdiger Aufrufer einen XmlResolver festlegen.In version 1.1 of the.NET Framework, the caller must be fully trusted in order to specify an XmlResolver.

Ausnahmen

Diese Eigenschaft ist auf null festgelegt, und es wird eine externe DTD oder Entität gefunden.This property is set to null and an external DTD or entity is encountered.

Beispiele

Im folgenden Beispiel wird ein XML-Dokument geladen, das einen Verweis auf eine DTD-Datei enthält.The following example loads an XML document which includes a reference to a DTD file. Mit XmlResolver der-Eigenschaft werden die Anmelde Informationen festgelegt, die für den Zugriff auf die Netzwerkressource erforderlich sind.The XmlResolver property is used to set the credentials necessary to access the network resource.

#using <System.dll>
#using <System.Xml.dll>

using namespace System;
using namespace System::IO;
using namespace System::Xml;
using namespace System::Net;
int main()
{
   
   // Supply the credentials necessary to access the DTD file stored on the network.
   XmlUrlResolver^ resolver = gcnew XmlUrlResolver;
   resolver->Credentials = CredentialCache::DefaultCredentials;
   
   // Create and load the XmlDocument.
   XmlDocument^ doc = gcnew 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 );
}

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 diesem Beispiel werden die folgenden Datendateien als Eingabe verwendet.The example uses the following data files as 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">

Hinweise

XmlResolver Kann verwendet werden, um DTDs zu laden oder Entitäts Verweise zu erweitern.The XmlResolver can be used to load DTDs or expand entity references. Mithilfe der XmlResolver.Credentials -Eigenschaft können Sie Anmelde Informationen für festlegen XmlResolver , um auf Ressourcen zuzugreifen, die in einer sicheren Netzwerkressource gespeichert sind.Using the XmlResolver.Credentials property, you can set credentials on the XmlResolver to access resources stored on a secure network resource.

  • Wenn das Dokument nicht mit einem XmlReader geladen wurde (d. h., wenn es mit einem Stream, einer Datei usw. geladen wurde), wird der XmlResolver auf dem XmlDocument immer verwendet.If the document was not loaded using an XmlReader (that is, if it was loaded using a stream, file, and so on) the XmlResolver on the XmlDocument is always used.

  • Wenn das Dokument mit einem XmlTextReadergeladen wurde, wird der Konflikt Löser für den XmlTextReader verwendet, um alle DTD-Verweise im DocumentType-Knoten aufzulösen.If the document was loaded with an XmlTextReader, the resolver on the XmlTextReader is used to resolve any DTD references in the DocumentType node. Der Konflikt Löser für die XmlDocument wird zum Erweitern von Entitäts verweisen verwendet.The resolver on the XmlDocument is used to expand any entity references.

  • Wenn das Dokument mit einem XmlValidatingReadergeladen wurde, wird der Konflikt Löser für die XmlDocument niemals verwendet.If the document was loaded with an XmlValidatingReader, the resolver on the XmlDocument is never used.

  • Wenn das Dokument mit einer Klasse geladen wurde, die XmlReader erweitert XmlReader und Entitäten nicht auflösenCanResolveEntity kann false(gibt zurück XmlResolver ), XmlDocument wird der auf dem zum Auflösen von Verweisen im DocumentType-Knoten verwendet. und zum Erweitern von Entitäts verweisen.If the document was loaded with a class that extends XmlReader and the XmlReader cannot resolve entities (CanResolveEntity returns false), the XmlResolver on the XmlDocument is used to resolve any references in the DocumentType node and to expand any entity references.

Hinweis

Wenn das XmlDocument mit einem XmlReader geladen wird, auf das XmlResolver ein festgelegt ist, XmlResolver wird XmlDocument der XmlReader auf dem nicht vom zwischengespeichert Load , nachdem abgeschlossen wurde.If the XmlDocument is loaded using an XmlReader which had an XmlResolver set to it, the XmlResolver on the XmlReader is not cached by the XmlDocument after Load completes.

Wenn diese Eigenschaft in Version 1,1 von The.NET Framework nicht festgelegt ist, bestimmt die Vertrauens Ebene der Anwendung das Standardverhalten.In version 1.1 of the.NET Framework, if this property is not set, the trust level of the application determines the default behavior.

Fully trusted code:Im Dokument wird ein Standard XmlUrlResolver Wert ohne Benutzer Anmelde Informationen verwendet.Fully trusted code: The document uses a default XmlUrlResolver with no user credentials. Wenn für den Zugriff auf eine Netzwerkressource eine Authentifizierung erforderlich ist XmlResolver , verwenden Sie die XmlResolver -Eigenschaft, um eine mit den erforderlichen Anmelde Informationen anzugeben.If authentication is required to access a network resource, use the XmlResolver property to specify an XmlResolver with the necessary credentials.

Semi-trusted code:Die XmlResolver -Eigenschaft ist auf nullfestgelegt.Semi-trusted code: The XmlResolver property is set to null. Externe Ressourcen werden nicht aufgelöst.External resources are not resolved.

Weitere Informationen zur Sicherheit und zur XmlResolver -Eigenschaft finden Sie unter Auflösen externer Ressourcen.For more information on security and the XmlResolver property, see Resolving External Resources.

Diese Eigenschaft ist eine Microsoft-Erweiterung des Dokumentobjektmodells (DOM).This property is a Microsoft extension to the Document Object Model (DOM).

Gilt für:

Siehe auch