XmlTextReader::EntityHandling Property
Gets or sets a value that specifies how the reader handles entities.
Assembly: System.Xml (in System.Xml.dll)
public: property EntityHandling EntityHandling { EntityHandling get(); void set(EntityHandling value); }
Property Value
Type: System.Xml::EntityHandlingOne of the EntityHandling values. If no EntityHandling is specified, it defaults to EntityHandling.ExpandCharEntities.
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> A # </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 |
Available since 2.0
