XmlTextReader.EntityHandling Property
Definition
Important
Some information relates to prerelease product that may be substantially modified before it’s released. Microsoft makes no warranties, express or implied, with respect to the information provided here.
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
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 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 |