XmlNodeReader.ResolveEntity Methode

Definitie

Hiermee wordt de entiteitsreferentie voor EntityReference knooppunten omgezet.

public:
 override void ResolveEntity();
public override void ResolveEntity();
override this.ResolveEntity : unit -> unit
Public Overrides Sub ResolveEntity ()

Uitzonderingen

De lezer bevindt zich niet op een EntityReference knooppunt.

Voorbeelden

In het volgende voorbeeld wordt een ResolveEntity algemene entiteit uitgebreid.

using System;
using System.IO;
using System.Xml;

public class Sample
{
  public static void Main()
  {
     XmlNodeReader reader = null;

     try
     {
       //Create and load an XML document.
       XmlDocument doc = new XmlDocument();
       doc.LoadXml("<!DOCTYPE book [<!ENTITY h 'hardcover'>]>" +
                   "<book>" +
                   "<title>Pride And Prejudice</title>" +
                   "<misc>&h;</misc>" +
                   "</book>");

       //Create the reader.
       reader = new XmlNodeReader(doc);

       reader.MoveToContent();  //Move to the root element.
       reader.Read();  //Move to title start tag.
       reader.Skip();  //Skip the title element.

       //Read the misc start tag.  The reader is now positioned on
       //the entity reference node.
       reader.ReadStartElement();

       //You must call ResolveEntity to expand the entity reference.
       //The entity replacement text is then parsed and returned as a child node.
       Console.WriteLine("Expand the entity...");
       reader.ResolveEntity();

       Console.WriteLine("The entity replacement text is returned as a text node.");
       reader.Read();
       Console.WriteLine("NodeType: {0} Value: {1}", reader.NodeType ,reader.Value);

       Console.WriteLine("An EndEntity node closes the entity reference scope.");
       reader.Read();
       Console.WriteLine("NodeType: {0} Name: {1}", reader.NodeType,reader.Name);
    }
    finally
    {
       if (reader != null)
         reader.Close();
    }
  }
}
Option Explicit
Option Strict

Imports System.IO
Imports System.Xml

Public Class Sample
    
    Public Shared Sub Main()
        Dim reader As XmlNodeReader = Nothing
        
        Try
            'Create and load an XML document. 
            Dim doc As New XmlDocument()
            doc.LoadXml("<!DOCTYPE book [<!ENTITY h 'hardcover'>]>" & _
                        "<book>" & _
                        "<title>Pride And Prejudice</title>" & _
                        "<misc>&h;</misc>" & _
                        "</book>")
            
            'Create the reader.
            reader = New XmlNodeReader(doc)
            
            reader.MoveToContent() 'Move to the root element.
            reader.Read() 'Move to title start tag.
            reader.Skip() 'Skip the title element.
            'Read the misc start tag.  The reader is now positioned on
            'the entity reference node.
            reader.ReadStartElement()
            
            'You must call ResolveEntity to expand the entity reference.
            'The entity replacement text is then parsed and returned as a child node.
            Console.WriteLine("Expand the entity...")
            reader.ResolveEntity()
            
            Console.WriteLine("The entity replacement text is returned as a text node.")
            reader.Read()
            Console.WriteLine("NodeType: {0} Value: {1}", reader.NodeType, reader.Value)
            
            Console.WriteLine("An EndEntity node closes the entity reference scope.")
            reader.Read()
            Console.WriteLine("NodeType: {0} Name: {1}", reader.NodeType, reader.Name)
        
        Finally
            If Not (reader Is Nothing) Then
                reader.Close()
            End If
        End Try
    End Sub
End Class

Opmerkingen

Note

Als u wilt profiteren van nieuwere functies, is het raadzaam om exemplaren te maken XmlReader met behulp van de XmlReaderSettings klasse en de Create methode. Zie de sectie Opmerkingen op de XmlReader referentiepagina voor meer informatie.

Als de lezer op een EntityReference knooppuntXmlNodeType.EntityReference () Read wordt aangeroepen nadat deze methode is aangeroepen, wordt de vervangende tekst van de entiteit geparseerd. Wanneer de vervangende tekst van de entiteit is voltooid, wordt er een EndEntity knooppunt geretourneerd om het bereik van de entiteitsverwijzing te sluiten.

Note

Als de entiteit deel uitmaakt van een kenmerkwaarde, moet u na het aanroepen van deze methode de entiteit inschakelen ReadAttributeValue .

Van toepassing op