System.Xml.XmlValidatingReader.ReadElementContentAsBase64 方法

方法描述

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

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

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

参数/返回值

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

提示和注释

注意

XmlValidatingReader 类在 .NET Framework 2.0 版中已过时。 您可以使用 XmlReaderSettings 类和 Create 方法创建一个验证 XmlReader 实例。 有关更多信息,请参见 使用 XmlReader 验证 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 方法。

如果 count 值大于或等于文档中的字节数,则 XmlValidatingReader 读取文档中剩余的所有字节,然后返回读取的字节数。 下一个 XmlValidatingReader 方法调用将返回零,并将读取器移到 EndElement 后面的节点。

如果您在所有元素内容被用尽之前调用 Read,则读取器的操作可能就像以下情形一样,即如果第一个内容被用尽,则调用 Read 方法。 这意味着读取器将读取所有文本,直到遇到结束元素为止。 然后,读取器将读取结尾标记节点,读取下一个节点,最后将自身定位在下一个后续节点上。

System.Xml.XmlValidatingReader.ReadElementContentAsBase64 方法例子


异常

异常 异常描述
ArgumentNullException buffer 值为 null。
InvalidOperationException 当前节点不是元素节点。
ArgumentOutOfRangeException 缓冲区中的索引或者索引与计数之和大于分配的缓冲区大小。
NotSupportedException XmlValidatingReader 实现不支持此方法。
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 系统要求。