This documentation is archived and is not being maintained.

XmlTextReader.EntityHandling Property

Gets or sets a value that specifies how the reader handles entities.

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

public EntityHandling EntityHandling { get; set; }

Property Value

Type: System.Xml.EntityHandling
One of the EntityHandling values. If no EntityHandling is specified, it defaults to EntityHandling.ExpandCharEntities.

NoteNote

In the .NET Framework version 2.0 release, the recommended practice is to create XmlReader instances using the 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.

This property can be changed on the fly and takes effect after the next Read call.

When EntityHandling is set to ExpandCharEntities, attribute values are only partially normalized. The reader normalizes each individual text node independently from the content of adjacent entity reference nodes.

To illustrate the difference between the entity handling modes consider the following XML:

<!DOCTYPE doc [<!ENTITY num "123">]>
    <doc> &#65; &num; </doc>

When EntityHandling is set to ExpandEntities the "doc" element node contains one text node with the expanded entity text:

Depth

Node type

Name

Value

1

Text

A 123

When EntityHandling is set to ExpandCharEntites, and WhitespaceHandling is set to Significant or All, the "doc" element expands the character entity and returns the general entity as a node:

Depth

Node type

Name

Value

1

Text

A

1

EntityReference

num

1

SignificantWhitespace

.NET Framework

Supported in: 4, 3.5, 3.0, 2.0

.NET Framework Client Profile

Supported in: 4, 3.5 SP1

Windows 7, Windows Vista SP1 or later, Windows XP SP3, Windows XP SP2 x64 Edition, Windows Server 2008 (Server Core not supported), Windows Server 2008 R2 (Server Core supported with SP1 or later), Windows Server 2003 SP2

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