XmlReaderSettings Class

Microsoft Silverlight will reach end of support after October 2021. Learn more.

Specifies a set of features to support on the XmlReader object created by the Create method.

Inheritance Hierarchy

System.Object
  System.Xml.XmlReaderSettings

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

Syntax

'Declaration
Public NotInheritable Class XmlReaderSettings
public sealed class XmlReaderSettings

The XmlReaderSettings type exposes the following members.

Constructors

  Name Description
Public methodSupported by Silverlight for Windows PhoneSupported by Xbox 360 XmlReaderSettings() Initializes a new instance of the XmlReaderSettings class.
Public methodSupported by Silverlight for Windows PhoneSupported by Xbox 360 XmlReaderSettings(XmlResolver) Initializes a new instance of the XmlReaderSettings class using a XmlResolver object.

Top

Properties

  Name Description
Public propertySupported by Silverlight for Windows PhoneSupported by Xbox 360 CheckCharacters Gets or sets a value indicating whether to do character checking.
Public propertySupported by Silverlight for Windows PhoneSupported by Xbox 360 CloseInput Gets or sets a value indicating whether the underlying stream or TextReader should be closed when the reader is closed.
Public propertySupported by Silverlight for Windows PhoneSupported by Xbox 360 ConformanceLevel Gets or sets the level of conformance which the XmlReader will comply.
Public propertySupported by Silverlight for Windows PhoneSupported by Xbox 360 DtdProcessing Gets or sets the DtdProcessing enumeration.
Public propertySupported by Silverlight for Windows PhoneSupported by Xbox 360 IgnoreComments Gets or sets a value indicating whether to ignore comments.
Public propertySupported by Silverlight for Windows PhoneSupported by Xbox 360 IgnoreProcessingInstructions Gets or sets a value indicating whether to ignore processing instructions.
Public propertySupported by Silverlight for Windows PhoneSupported by Xbox 360 IgnoreWhitespace Gets or sets a value indicating whether to ignore insignificant white space.
Public propertySupported by Silverlight for Windows PhoneSupported by Xbox 360 LineNumberOffset Gets or sets line number offset of the XmlReader object.
Public propertySupported by Silverlight for Windows PhoneSupported by Xbox 360 LinePositionOffset Gets or sets line position offset of the XmlReader object.
Public propertySupported by Silverlight for Windows PhoneSupported by Xbox 360 MaxCharactersFromEntities Gets or sets a value indicating the maximum allowable number of characters in a document that result from expanding entities.
Public propertySupported by Silverlight for Windows PhoneSupported by Xbox 360 MaxCharactersInDocument Gets or sets a value indicating the maximum allowable number of characters XML document. A zero (0) value means no limits on the size of the XML document. A non-zero value specifies the maximum size, in characters.
Public propertySupported by Silverlight for Windows PhoneSupported by Xbox 360 NameTable Gets or sets the XmlNameTable used for atomized string comparisons.
Public propertySupported by Silverlight for Windows PhoneSupported by Xbox 360 XmlResolver Sets the XmlResolver used to access external documents.

Top

Methods

  Name Description
Public methodSupported by Silverlight for Windows PhoneSupported by Xbox 360 Clone Creates a copy of the XmlReaderSettings instance.
Public methodSupported by Silverlight for Windows PhoneSupported by Xbox 360 Equals(Object) Determines whether the specified Object is equal to the current Object. (Inherited from Object.)
Protected methodSupported by Silverlight for Windows PhoneSupported by Xbox 360 Finalize Allows an object to try to free resources and perform other cleanup operations before the Object is reclaimed by garbage collection. (Inherited from Object.)
Public methodSupported by Silverlight for Windows PhoneSupported by Xbox 360 GetHashCode Serves as a hash function for a particular type. (Inherited from Object.)
Public methodSupported by Silverlight for Windows PhoneSupported by Xbox 360 GetType Gets the Type of the current instance. (Inherited from Object.)
Protected methodSupported by Silverlight for Windows PhoneSupported by Xbox 360 MemberwiseClone Creates a shallow copy of the current Object. (Inherited from Object.)
Public methodSupported by Silverlight for Windows PhoneSupported by Xbox 360 Reset Resets the members of the settings class to their default values.
Public methodSupported by Silverlight for Windows PhoneSupported by Xbox 360 ToString Returns a string that represents the current object. (Inherited from Object.)

Top

Remarks

In the .NET Framework version 2.0 release, the Create method is the preferred mechanism for obtaining XmlReader instances. The Create method uses the XmlReaderSettings class to specify which features to implement in the created XmlReader object.

Security Considerations

The following are things to consider when using the XmlReaderSettings class.

  • XmlReaderSettings objects can contain sensitive information such as user credentials. You should be careful when caching XmlReaderSettings objects, or when passing the XmlReaderSettings object from one component to another.

  • DTD processing is disabled by default. If you enable DTD processing, you need to be aware of including DTDs from untrusted sources and possible denial of service attacks.

  • Do not accept supporting components, such as NameTable, XmlNamespaceManager, and XmlResolver objects, from an untrusted source.

  • Memory usage of an application that uses XmlReader may have a correlation to the size of the parsed XML document. One form of denial of service attack is when excessively large XML documents are submitted to be parsed. You can limit the size of the document that can be parsed by setting the MaxCharactersInDocument property and then limit the number of characters that result from expanding entities by setting the MaxCharactersFromEntities property.

Examples

The following example preloads the DTDs and entities defined in XHTML 1.0 by setting Xhtml10 on the XmlPreloadedResolver. In this example, the XHTMLPage.html file is a part of the application's XAP package; therefore, we have to pass a fallback resolver to the constructor of the T:System.Xml.Resolvers.XmlPreloadedResolver.

Dim settings As XmlReaderSettings = New XmlReaderSettings()
settings.XmlResolver = New XmlPreloadedResolver(New XmlXapResolver(), XmlKnownDtds.Xhtml10)
Using reader As XmlReader = XmlReader.Create("HTMLPage.html", settings)
    Dim document As XDocument = XDocument.Load(reader)
    OutputTextBlock.Text = document.ToString()
End Using

XmlReaderSettings settings = new XmlReaderSettings();
settings.DtdProcessing = DtdProcessing.Parse;
settings.XmlResolver =
    new XmlPreloadedResolver(new XmlXapResolver(),
        XmlKnownDtds.Xhtml10);

using (XmlReader reader = XmlReader.Create("HTMLPage.html", settings))
{
XDocument document = XDocument.Load(reader);
OutputTextBlock.Text = document.ToString();
}

Version Information

Silverlight

Supported in: 5, 4, 3

Silverlight for Windows Phone

Supported in: Windows Phone OS 7.1, Windows Phone OS 7.0

XNA Framework

Supported in: Xbox 360, Windows Phone OS 7.0

Platforms

For a list of the operating systems and browsers that are supported by Silverlight, see Supported Operating Systems and Browsers.

Thread Safety

Any public static (Shared in Visual Basic) members of this type are thread safe. Any instance members are not guaranteed to be thread safe.