System.Xml.XmlNodeReader.ResolveEntity 方法

方法描述

解析 EntityReference 节点的实体引用。

语法定义(C# System.Xml.XmlNodeReader.ResolveEntity 方法 的用法)

public override void ResolveEntity()

参数/返回值

参数值/返回值 参数类型/返回类型 参数描述/返回描述
返回值 void

提示和注释

注意

在 .NET Framework 2.0 版 中,推荐的做法是使用 XmlReaderSettings 类和 Create 方法创建 XmlReader 实例。 这使您可以充分利用 .NET Framework 中引入的所有新功能。 有关更多信息,请参见 创建 XML 读取器。

当读取器定位在 EntityReference 节点 (XmlNodeType.EntityReference) 上时,如果在调用此方法后调用 Read,则分析实体替换文本。 完成实体替换文本后,返回一个 EndEntity 节点以关闭实体引用范围。

注意

调用此方法后,如果实体是特性值的一部分,则必须调用 ReadAttributeValue 进入该实体。

System.Xml.XmlNodeReader.ResolveEntity 方法例子

下面的示例使用 ResolveEntity 展开常规实体。

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("]>" +
                   "" +
                   "Pride And Prejudice" +
                   "&h;" +
                   ""); 

       //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();
    }
  }
}

异常

异常 异常描述
InvalidOperationException 读取器不是定位在 EntityReference 节点上。

命名空间

namespace: System.Xml

程序集: System.Xml(在 System.Xml.dll 中)

版本信息

.NET Framework 受以下版本支持:4、3.5、3.0、2.0、1.1、1.0 .NET Framework Client Profile 受以下版本支持:4、3.5 SP1

适用平台

Windows 7, Windows Vista SP1 或更高版本, Windows XP SP3, Windows XP SP2 x64 Edition, Windows Server 2008(不支持服务器核心), Windows Server 2008 R2(支持 SP1 或更高版本的服务器核心), Windows Server 2003 SP2 .NET Framework 并不是对每个平台的所有版本都提供支持。有关支持的版本的列表,请参见.NET Framework 系统要求。