XmlTextReader.EntityHandling Property

Definition

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

C#
public System.Xml.EntityHandling EntityHandling { get; set; }

Property Value

One of the EntityHandling values. If no EntityHandling is specified, it defaults to EntityHandling.ExpandCharEntities.

Remarks

Note

Starting with the .NET Framework 2.0, we recommend that you create XmlReader instances by using the XmlReader.Create method to take advantage of new functionality.

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 ExpandCharEntities, 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

Applies to

Product Versions
.NET Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9, 10
.NET Framework 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 2.0, 2.1

See also