Share via


Zugreifen auf externe Ressourcen für "XmlReader"

Die XmlResolver-Klasse wird verwendet, um für das XmlReader-Objekt erforderliche Ressourcen zu suchen und darauf zuzugreifen.

Übersicht

Mithilfe des XmlResolver kann Folgendes ausgeführt werden:

  • Suchen und Öffnen des XML-Instanzdokuments.

  • Suchen und Öffnen der externen Ressourcen, auf die im XML-Instanzdokument verwiesen wird. Dazu zählen Entitäten, eine DTD, Schemata usw.

  • Wenn die Ressource in einem System gespeichert ist, für das eine Authentifizierung erforderlich ist, können mit der XmlResolver.Credentials-Eigenschaft die erforderlichen Anmeldeinformationen angegeben werden.

Sie geben den zu verwendenden XmlResolver an, indem Sie die XmlReaderSettings.XmlResolver-Eigenschaft festlegen und das XmlReaderSettings-Objekt an die Create-Methode übergeben.

HinweisHinweis

Wenn kein XmlResolver angegeben ist, verwendet der erstellte Reader einen Standard-XmlUrlResolver ohne Anmeldeinformationen des Benutzers.

Mit dem folgenden Code wird eine XmlReader-Instanz erstellt, die einen XmlUrlResolver mit Standardanmeldeinformationen verwendet.

' Create a resolver with default credentials.
Dim resolver as XmlUrlResolver = new XmlUrlResolver()
resolver.Credentials = System.Net.CredentialCache.DefaultCredentials

' Set the reader settings object to use the resolver.
settings.XmlResolver = resolver

' Create the XmlReader object.
Dim reader as XmlReader = XmlReader.Create("https://ServerName/data/books.xml", settings)
// Create a resolver with default credentials.
XmlUrlResolver resolver = new XmlUrlResolver();
resolver.Credentials = System.Net.CredentialCache.DefaultCredentials;

// Set the reader settings object to use the resolver.
settings.XmlResolver = resolver;

// Create the XmlReader object.
XmlReader reader = XmlReader.Create("https://ServerName/data/books.xml", settings);
// Create a resolver with default credentials.
XmlUrlResolver^ resolver = gcnew XmlUrlResolver;
resolver->Credentials = System::Net::CredentialCache::DefaultCredentials;

 // Set the reader settings object to use the resolver.
 settings->XmlResolver = resolver;

// Create the XmlReader object.
XmlReader^ reader = XmlReader::Create( L"https://ServerName/data/books.xml", settings );

Im System.Xml-Namespace sind zwei konkrete Implementierungen der XmlResolver-Klasse enthalten.

  • XmlUrlResolver – Die Auflösung erfolgt mithilfe des file://-Protokolls und des http://-Protokolls. Dies ist der verwendete Standardresolver.

  • XmlSecureResolver – Sichert eine andere Implementierung von XmlResolver. Dies erfolgt durch das Wrappen des XmlResolver-Objekts und das Einschränken der Ressourcen, auf die der zugrunde liegende XmlResolver zugreifen kann.

Weitere Informationen finden Sie unter Auflösen von externen mit einem URI benannten XML-Ressourcen.

Siehe auch

Konzepte

Lesen von XML mit dem "XmlReader"

Weitere Ressourcen

Verwenden der "XmlReader"-Klasse

Sicherheit und System.Xml-Anwendungen