XmlTextReader.XmlResolver Property

Sets the XmlResolver used for resolving DTD references.

Namespace: System.Xml
Assembly: System.Xml (in system.xml.dll)

public XmlResolver XmlResolver { set; }
/** @property */
public void set_XmlResolver (XmlResolver value)

public function set XmlResolver (value : XmlResolver)

Property Value

The XmlResolver to use. If set to a null reference (Nothing in Visual Basic), external resources are not resolved. In version 1.1 of the .NET Framework, the caller must be fully trusted in order to specify an XmlResolver.


In the Microsoft .NET Framework version 2.0 release, the recommended practice is to create XmlReader instances using the System.Xml.XmlReader.Create method. This allows you to take full advantage of the new features introduced in this release. For more information, see Creating XML Readers.

The reader uses XmlResolver to resolve the location of the file loaded into the reader and also to resolve DTD references. For example, if your XML included the DOCTYPE declaration, <!DOCTYPE book SYSTEM book.dtd> the reader resolves this external file and ensures that the DTD is well-formed. The reader does not use the DTD for validation.

This property can be changed at any time and takes effect on the next read operation. If this property is set to a null reference (Nothing in Visual Basic), any external DTD references encountered by the reader are not resolved.

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: The reader uses a default XmlUrlResolver with no user credentials. If authentication is required to access a network resource, use the XmlResolver property to specify an XmlResolver with the necessary credentials.

Semi-trusted code: The XmlResolver property is set to a null reference (Nothing in Visual Basic). External resources are not resolved.

The following example uses the XmlResolver property to specify the credentials necessary to access the networked file.

using System;
using System.IO;
using System.Xml;
using System.Net;

public class Sample {

  public static void Main() {

    // Create the reader.
    XmlTextReader reader = new XmlTextReader("http://myServer/data/books.xml");
    // Supply the credentials necessary to access the Web server.
    XmlUrlResolver resolver = new XmlUrlResolver();
    resolver.Credentials = CredentialCache.DefaultCredentials;
    reader.XmlResolver = resolver;

    // Parse the file.
    while (reader.Read()) {
       // Do any additional processing here.
    // Close the reader.

Windows 98, Windows 2000 SP4, Windows CE, Windows Millennium Edition, Windows Mobile for Pocket PC, Windows Mobile for Smartphone, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition

The .NET Framework does not support all versions of every platform. For a list of the supported versions, see System Requirements.

.NET Framework

Supported in: 2.0, 1.1, 1.0

.NET Compact Framework

Supported in: 2.0, 1.0

Community Additions