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