System.Xml.XmlReader.ReadSubtree 方法

方法描述

返回新的 XmlReader 实例,此实例可用于读取当前节点及其所有子节点。

语法定义(C# System.Xml.XmlReader.ReadSubtree 方法 的用法)

public virtual XmlReader ReadSubtree()

参数/返回值

参数值/返回值 参数类型/返回类型 参数描述/返回描述
返回值 System.Xml.XmlReader 一个新的 XmlReader 实例,该实例被设为 ReadState.Initial。 调用 Read 方法时,会将新的 XmlReader 定位在调用 ReadSubtree 方法之前的当前节点上。

提示和注释

只能在元素节点上调用 ReadSubtree。 读取完整个子树后,调用 Read 方法则会返回 false。 关闭新的 XmlReader 后,原始 XmlReader 将定位在子树的 EndElement 节点上。 这样,如果在书元素的开始标记上调用了 ReadSubtree 方法,则读取子树并关闭新的 XmlReader 后,原始 XmlReader 将定位在书元素的结束标记上。

在关闭新的 XmlReader 之前,不应该对原来的 XmlReader 执行任何操作。 不支持进行这种操作,这种操作可能导致不可预知的行为。

注意

ReadSubtree 方法不是用于创建可以独立使用的 XML 数据的副本的。 而是用于创建 XML 元素周围的边界。 当需要将数据传递给其他组件以便进行处理,并且希望限制组件可以访问的数据量时,此方法很有用。 将 ReadSubtree 方法返回的 XmlReader 传递给其他应用程序时,应用程序将只可以访问该 XML 元素,而不是整个 XML 文档。

System.Xml.XmlReader.ReadSubtree 方法例子

使用以下 XML 数据,可运行本主题中的示例:



  
    A Brief History of Time
  
  
    Principle Of Relativity
  
  
    Victory of Reason
  
  
    The Unicorn that did not Fail
  
  
    Rational Ontology
  
  
    The Meaning of Pizza
  

异常

异常 异常描述
InvalidOperationException 调用此方法时 XmlReader 没有定位在某个元素上。

命名空间

namespace: System.Xml

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

版本信息

.NET Framework 受以下版本支持:4、3.5、3.0、2.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 系统要求。