XmlTextReader.EntityHandling Property

Definition

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

public:
 property System::Xml::EntityHandling EntityHandling { System::Xml::EntityHandling get(); void set(System::Xml::EntityHandling value); };
public System.Xml.EntityHandling EntityHandling { get; set; }
member this.EntityHandling : System.Xml.EntityHandling with get, set
Public Property EntityHandling As EntityHandling

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

See also