System.Xml.XmlNodeReader.ReadElementContentAsBase64 方法

方法描述

读取元素并对 Base64 内容进行解码。

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

public override int ReadElementContentAsBase64(
	byte[] buffer,
	int index,
	int count
)

参数/返回值

参数值/返回值 参数类型/返回类型 参数描述/返回描述
buffer System-Byte[] 作为结果文本复制目标的缓冲区。此值不能为 null。
index System-Int32 缓冲区中的偏移,从这个位置开始将结果复制到缓冲区中。
count System-Int32 要复制到缓冲区的最大字节数。此方法返回复制的实际字节数。
返回值 System.Int32 写入缓冲区的字节数。

提示和注释

注意

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

此方法读取内容,使用 Base64 编码对内容进行解码并将解码的二进制字节(例如内联 Base64 编码的 GIF 图像)返回到缓冲区中。 有关更多信息,请参见 RFC 1521“MIME (Multipurpose Internet Mail Extensions) Part One: Mechanisms for Specifying and Describing the Format of Internet Message Bodies”(多用途 Internet 邮件扩展 (MIME) 第一部分:指定和描述 Internet 邮件正文格式的机制)。 可以从位于 http://www.rfc-editor.org 的“Request for Comments”(请求注释)网站获得 RFC。

此方法只能读取简单内容元素。 该元素可包含文本、空白、有效空白、CDATA 节、注释和处理指令。 它还可包含实体引用,实体引用是自动扩展的。 该元素不能有子元素。

此方法与 ReadContentAsBase64 方法非常相似,不同的是只能在元素节点类型上对它进行调用。

如果计数值大于文档中的字节数,或者如果它与文档中的字节数相等,则 XmlNodeReader 读取文档中的所有剩余字节并返回所读取的字节数。 下一次 ReadElementContentAsBase64 方法调用返回零并将读取器移动到 EndElement 节点下面的节点。

如果您在用尽所有元素内容之前调用 Read,读取器的操作就会像第一个内容已被用尽一样,然后调用 Read 方法。 这意味着读取器会读取所有文本,直到遇到结尾元素。 接着它会读取结尾标记节点,读取下一个节点,然后将自身定位在下一个后续节点上。

System.Xml.XmlNodeReader.ReadElementContentAsBase64 方法例子

有关使用该方法的示例,请参见 XmlReader.ReadElementContentAsBase64。


异常

异常 异常描述
ArgumentNullException buffer 值为 null。
InvalidOperationException 当前节点不是元素节点。
ArgumentOutOfRangeException 缓冲区中的索引或者索引与计数之和大于分配的缓冲区大小。
XmlException 该元素包含混合内容。
FormatException 无法将内容转换成请求的类型。

命名空间

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