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.
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. 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("http://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.
Hinweis: