XmlReader.ReadContentAsObject 方法

定义

将当前位置的文本内容作为 Object 读取。

public:
 virtual System::Object ^ ReadContentAsObject();
public virtual object ReadContentAsObject ();
abstract member ReadContentAsObject : unit -> obj
override this.ReadContentAsObject : unit -> obj
Public Overridable Function ReadContentAsObject () As Object

返回

Object

作为最适当的公共语言运行时 (CLR) 对象的文本内容。

例外

试图进行的强制转换无效。

该字符串格式无效。

在上一次异步操作完成之前调用了 XmlReader 方法。 在此情况下,会引发 InvalidOperationException 并显示消息“异步操作已在进行中。”

注解

此方法连接文本、空白、重大空白和 CDATA 部分,并跳过任何注释或处理指令。 会自动解析实体引用。

如果键入内容,读取器将返回由属性指定的 ValueType 最合适类型的装箱 CLR。 如果内容是列表类型,则读取器返回相应类型的装箱对象数组。

备注

如果在分析内容时发生验证错误,并且读取器是由 XmlReader 该方法创建 Create 的对象,则读取器将内容作为字符串返回。 换句话说,当发生验证错误或警告时,内容被视为非类型化。

如果内容未类型化,读取器将以字符串的形式返回内容。

下表介绍了此方法如何处理每个节点类型。

XmlNodeType 返回值 读取器行为
Text

CDATA

Whitespace

SignificantWhitespace

EntityReference

EndEntity
将文本、CDATA、空白和有效空白节点的串联内容转换为所请求的类型。 移至下一个开始元素或结束元素标记。 实体引用自动展开。
Attribute 与调用 XmlConvert.ToXxx 属性值相同。 读取器将保留在当前位置
Comment

ProcessingInstruction
忽略处理指令 (PI) 或注释,读取 PI 或注释后面的串联文本内容。 移至下一个开始元素或结束元素标记。 实体引用自动展开。
EndElement 如果读取器是验证读取器的架构,则元素的值 (设置为Schema) ValidationType;否则为空字符串。 读取器仍保留在当前位置。
Element

XmlDeclaration

None

Document

DocumentType

Notation

Entity

DocumentFragment
引发 InvalidOperationException 未定义,尽管通常读取器将保留在当前位置。

有关详细信息,请参阅参考页的 XmlReader “备注”部分和 W3C XML 架构第 2 部分:数据类型 建议。

有关此方法的异步版本,请参阅 ReadContentAsObjectAsync

适用于