System.Xml.XmlDocument.ReadNode 方法

方法描述

根据 XmlReader 中的信息创建一个 XmlNode 对象。 读取器必须定位在节点或特性上。

语法定义(C# System.Xml.XmlDocument.ReadNode 方法 的用法)

[PermissionSetAttribute(SecurityAction.InheritanceDemand, Name = "FullTrust")]
public virtual XmlNode ReadNode(
	XmlReader reader
)

参数/返回值

参数值/返回值 参数类型/返回类型 参数描述/返回描述
reader System-Xml-XmlReader XML 源
返回值 System.Xml.XmlNode 新的 XmlNode;如果不存在其他节点,则为 null。

提示和注释

从给定的读取器读取一个 XmlNode 并将读取器定位在下一个节点上。 该方法创建与读取器当前定位在其上的 NodeType 匹配的 XmlNode 的类型。 (如果读取器处于初始状态,则 ReadNode 将读取器推进到第一个节点,然后对该节点进行操作。)

如果读取器定位在元素的开始处,则 ReadNode 读取所有特性和任何子节点,直到(并包括)当前节点的结束标记。 返回的 XmlNode 包含表示所读取所有内容的子树。 读取器的定位紧接在结束标记之后。

ReadNode 还可以读取特性,但在这种情况下它不将读取器推进到下一个特性。 这允许您编写下面的 C# 代码:

复制

XmlDocument doc = new XmlDocument();

while (reader.MoveToNextAttribute())

{

XmlNode a = doc.ReadNode(reader);

// Do some more processing.

}

不过,ReadNode 使用特性值,这意味着对特性调用 ReadNode 之后,XmlReader.ReadAttributeValue 返回 false。

对继承者的说明

该方法具有继承要求。 需要完全信任才能重写 ReadNode 方法。 有关更多信息,请参见 继承需求。

该方法是文档对象模型 (DOM) 的 Microsoft 扩展。

System.Xml.XmlDocument.ReadNode 方法例子

该示例使用文件 cd.xml 作为输入。



  Americana
  Offspring

异常

异常 异常描述
NullReferenceException 读取器定位在一个不能转换为有效 DOM 节点的节点类型上(例如 EndElement 或 EndEntity)。

命名空间

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 系统要求。