System::Xml::XmlReader 类

XmlReader class

表示一个读取器,提供对 XML 数据的快速、非缓存、仅向前访问。

class XmlReader : public System::IDisposable

方法

方法描述
virtual Close()在派生类中重写时,将 XmlReader::get_ReadState 更改为 ReadState::Closed
static Create(const String&)使用指定的 URI 创建一个新的 XmlReader 实例。
static Create(const String&, const SharedPtr<XmlReaderSettings>&)使用指定的 URI 和设置创建一个新的 XmlReader 实例。
static Create(const String&, SharedPtr<XmlReaderSettings>, const SharedPtr<XmlParserContext>&)使用指定的 URI、设置以及用于解析的上下文信息创建一个新的 XmlReader 实例。
static Create(const SharedPtr<IO::Stream>&)使用指定的流并采用默认设置创建一个新的 XmlReader 实例。
static Create(const SharedPtr<IO::Stream>&, const SharedPtr<XmlReaderSettings>&)使用指定的流和设置创建一个新的 XmlReader 实例。
static Create(const SharedPtr<IO::Stream>&, SharedPtr<XmlReaderSettings>, const String&)使用指定的流、基础 URI 和设置创建一个新的 XmlReader 实例。
static Create(const SharedPtr<IO::Stream>&, SharedPtr<XmlReaderSettings>, const SharedPtr<XmlParserContext>&)使用指定的流、设置以及用于解析的上下文信息创建一个新的 XmlReader 实例。
static Create(const SharedPtr<IO::TextReader>&)使用指定的文本读取器创建一个新的 XmlReader 实例。
static Create(const SharedPtr<IO::TextReader>&, const SharedPtr<XmlReaderSettings>&)使用指定的文本读取器和设置创建一个新的 XmlReader 实例。
static Create(const SharedPtr<IO::TextReader>&, SharedPtr<XmlReaderSettings>, const String&)使用指定的文本读取器、设置和基础 URI 创建一个新的 XmlReader 实例。
static Create(const SharedPtr<IO::TextReader>&, SharedPtr<XmlReaderSettings>, const SharedPtr<XmlParserContext>&)使用指定的文本读取器、设置以及用于解析的上下文信息创建一个新的 XmlReader 实例。
static Create(const SharedPtr<XmlReader>&, SharedPtr<XmlReaderSettings>)使用指定的 XML 读取器和设置创建一个新的 XmlReader 实例。
Dispose() override释放当前 XmlReader 类实例使用的所有资源。
virtual get_AttributeCount()在派生类中重写时,获取当前节点的属性数量。
virtual get_BaseURI()当在派生类中被重写时,获取当前节点的基础 URI。
virtual get_CanReadBinaryContent()返回一个值,指示 XmlReader 是否实现了二进制内容读取方法。
virtual get_CanReadValueChunk()返回一个值,指示 XmlReader 是否实现了 XmlReader::ReadValueChunk 方法。
virtual get_CanResolveEntity()返回一个值,指示此读取器是否能够解析和解析实体。
virtual get_Depth()当在派生类中被重写时,获取 XML 文档中当前节点的深度。
virtual get_EOF()当在派生类中被重写时,获取一个值,指示读取器是否位于流的末尾。
virtual get_HasAttributes()返回一个值,指示当前节点是否具有任何属性。
virtual get_HasValue()当在派生类中被重写时,获取一个值,指示当前节点是否可以具有 XmlReader::get_Value 值。
virtual get_IsDefault()当在派生类中被重写时,获取一个值,指示当前节点是否为从 DTD 或模式中定义的默认值生成的属性。
virtual get_IsEmptyElement()当在派生类中被重写时,获取一个值,指示当前节点是否为空元素(例如,)。
virtual get_LocalName()当在派生类中被重写时,获取当前节点的本地名称。
virtual get_Name()当在派生类中被重写时,获取当前节点的限定名称。
virtual get_NamespaceURI()当在派生类中被重写时,获取读取器所在节点的命名空间 URI(如 W3C 命名空间规范所定义)。
virtual get_NameTable()当在派生类中被重写时,获取与此实现关联的 XmlNameTable
virtual get_NodeType()当在派生类中被重写时,获取当前节点的类型。
virtual get_Prefix()当在派生类中被重写时,获取与当前节点关联的命名空间前缀。
virtual get_QuoteChar()当在派生类中被重写时,获取用于包围属性节点值的引号字符。
virtual get_ReadState()当在派生类中被重写时,获取读取器的状态。
virtual get_SchemaInfo()返回因模式验证而分配给当前节点的模式信息。
virtual get_Settings()返回用于创建此 XmlReader 实例的 XmlReaderSettings 对象。
virtual get_Value()当在派生类中被重写时,获取当前节点的文本值。
virtual get_ValueType()返回当前节点的类型。
virtual get_XmlLang()当在派生类中被重写时,获取当前 xml:lang 范围。
virtual get_XmlSpace()当在派生类中被重写时,获取当前 xml:space 范围。
virtual GetAttribute(String)当在派生类中被重写时,获取具有指定 XmlReader::get_Name 值的属性的值。
virtual GetAttribute(String, String)当在派生类中被重写时,获取具有指定 XmlReader::get_LocalNameXmlReader::get_NamespaceURI 值的属性的值。
virtual GetAttribute(int32_t)当在派生类中被重写时,获取具有指定索引的属性的值。
virtual idx_get(int32_t)当在派生类中被重写时,获取具有指定索引的属性的值。
virtual idx_get(String)当在派生类中被重写时,获取具有指定 XmlReader::get_Name 值的属性的值。
virtual idx_get(String, String)当在派生类中被重写时,获取具有指定 XmlReader::get_LocalNameXmlReader::get_NamespaceURI 值的属性的值。
static IsName(const String&)返回一个值,指示字符串参数是否是有效的 XML 名称。
static IsNameToken(const String&)返回一个值,指示字符串参数是否是有效的 XML 名称标记。
virtual IsStartElement()调用 XmlReader::MoveToContent 并测试当前内容节点是否为开始标签或空元素标签。
virtual IsStartElement(String)调用 XmlReader::MoveToContent 并测试当前内容节点是否为开始标签或空元素标签,以及找到的元素的 XmlReader::get_Name 值是否与给定参数匹配。
virtual IsStartElement(String, String)调用 XmlReader::MoveToContent 并测试当前内容节点是否为开始标签或空元素标签,以及找到的元素的 XmlReader::get_LocalNameXmlReader::get_NamespaceURI 值是否匹配给定的字符串。
virtual LookupNamespace(const String&)在派生类中重写时,解析当前元素作用域中的命名空间前缀。
virtual MoveToAttribute(String)在派生类中重写时,移动到具有指定 XmlReader::get_Name 值的属性。
virtual MoveToAttribute(String, String)在派生类中重写时,移动到具有指定 XmlReader::get_LocalNameXmlReader::get_NamespaceURI 值的属性。
virtual MoveToAttribute(int32_t)在派生类中重写时,移动到具有指定索引的属性。
virtual MoveToContent()检查当前节点是否为内容节点(非空白文本、CDATAElementEndElementEntityReferenceEndEntity)。如果节点不是内容节点,读取器将跳过到下一个内容节点或文件结束。它会跳过以下类型的节点:ProcessingInstructionDocumentTypeCommentWhitespaceSignificantWhitespace
virtual MoveToElement()在派生类中重写时,移动到包含当前属性节点的元素。
virtual MoveToFirstAttribute()在派生类中重写时,移动到第一个属性。
virtual MoveToNextAttribute()在派生类中重写时,移动到下一个属性。
virtual Read()在派生类中重写时,从流中读取下一个节点。
virtual ReadAttributeValue()在派生类中重写时,将属性值解析为一个或多个 TextEntityReferenceEndEntity 节点。
virtual ReadContentAs(const TypeInfo&, SharedPtr<IXmlNamespaceResolver>)将内容读取为指定类型的对象。
virtual ReadContentAsBase64(ArrayPtr<uint8_t>, int32_t, int32_t)读取内容并返回 Base64 解码后的二进制字节。
virtual ReadContentAsBinHex(ArrayPtr<uint8_t>, int32_t, int32_t)读取内容并返回 BinHex 解码后的二进制字节。
virtual ReadContentAsBoolean()将当前位置的文本内容读取为 Boolean
virtual ReadContentAsDateTime()将当前位置的文本内容读取为 DateTime 对象。
virtual ReadContentAsDateTimeOffset()将当前位置的文本内容读取为 DateTimeOffset 对象。
virtual ReadContentAsDecimal()将当前位置的文本内容读取为 Decimal 对象。
virtual ReadContentAsDouble()将当前位置的文本内容读取为双精度浮点数。
virtual ReadContentAsFloat()将当前位置的文本内容读取为单精度浮点数。
virtual ReadContentAsInt()将当前位置的文本内容读取为 32 位有符号整数。
virtual ReadContentAsLong()将当前位置的文本内容读取为 64 位有符号整数。
virtual ReadContentAsObject()将当前位置的文本内容读取为 Object
virtual ReadContentAsString()读取当前位置的文本内容为 String 对象。
virtual ReadElementContentAs(const TypeInfo&, SharedPtr<IXmlNamespaceResolver>)读取元素内容为请求的类型。
virtual ReadElementContentAs(const TypeInfo&, SharedPtr<IXmlNamespaceResolver>, String, String)检查指定的本地名称和命名空间 URI 是否与当前元素匹配,然后读取元素内容为请求的类型。
virtual ReadElementContentAsBase64(ArrayPtr<uint8_t>, int32_t, int32_t)读取元素并解码 Base64 内容。
virtual ReadElementContentAsBinHex(ArrayPtr<uint8_t>, int32_t, int32_t)读取元素并解码 BinHex 内容。
virtual ReadElementContentAsBoolean()读取当前元素并将内容返回为 Boolean 对象。
virtual ReadElementContentAsBoolean(String, String)检查指定的本地名称和命名空间 URI 是否与当前元素匹配,然后读取当前元素并将内容返回为 Boolean 对象。
virtual ReadElementContentAsDateTime()读取当前元素并将内容返回为 DateTime 对象。
virtual ReadElementContentAsDateTime(String, String)检查指定的本地名称和命名空间 URI 是否与当前元素匹配,然后读取当前元素并将内容返回为 DateTime 对象。
virtual ReadElementContentAsDecimal()读取当前元素并将内容返回为 Decimal 对象。
virtual ReadElementContentAsDecimal(String, String)检查指定的本地名称和命名空间 URI 是否与当前元素匹配,然后读取当前元素并将内容返回为 Decimal 对象。
virtual ReadElementContentAsDouble()读取当前元素并将内容返回为双精度浮点数。
virtual ReadElementContentAsDouble(String, String)检查指定的本地名称和命名空间 URI 是否与当前元素匹配,然后读取当前元素并将内容返回为双精度浮点数。
virtual ReadElementContentAsFloat()读取当前元素并将内容返回为单精度浮点数。
virtual ReadElementContentAsFloat(String, String)检查指定的本地名称和命名空间 URI 是否与当前元素匹配,然后读取当前元素并将内容返回为单精度浮点数。
virtual ReadElementContentAsInt()读取当前元素并将内容返回为 32 位有符号整数。
virtual ReadElementContentAsInt(String, String)检查指定的本地名称和命名空间 URI 是否与当前元素匹配,然后读取当前元素并将内容返回为 32 位有符号整数。
virtual ReadElementContentAsLong()读取当前元素并将内容返回为 64 位有符号整数。
virtual ReadElementContentAsLong(String, String)检查指定的本地名称和命名空间 URI 是否与当前元素匹配,然后读取当前元素并将内容返回为 64 位有符号整数。
virtual ReadElementContentAsObject()读取当前元素并将内容返回为 Object
virtual ReadElementContentAsObject(String, String)检查指定的本地名称和命名空间 URI 是否与当前元素匹配,然后读取当前元素并将内容返回为 Object
virtual ReadElementContentAsString()读取当前元素并将内容返回为 String 对象。
virtual ReadElementContentAsString(String, String)检查指定的本地名称和命名空间 URI 是否与当前元素匹配,然后读取当前元素并将内容返回为 String 对象。
virtual ReadElementString()读取仅文本元素。不过,建议改用 XmlReader::ReadElementContentAsString 方法,因为它提供了更直接的处理方式。
virtual ReadElementString(String)在读取仅文本元素之前,检查找到的元素的 XmlReader::get_Name 值是否与给定字符串匹配。不过,建议改用 XmlReader::ReadElementContentAsString 方法,因为它提供了更直接的处理方式。
virtual ReadElementString(String, String)在读取仅文本元素之前,检查找到的元素的 XmlReader::get_LocalNameXmlReader::get_NamespaceURI 值是否与给定字符串匹配。不过,建议改用 XmlReader::ReadElementContentAsString 方法,因为它提供了更直接的处理方式。
virtual ReadEndElement()检查当前内容节点是否为结束标签,并将读取器前进到下一个节点。
virtual ReadInnerXml()在派生类中重写时,将所有内容(包括标记)读取为字符串。
virtual ReadOuterXml()在派生类中重写时,读取表示此节点及其所有子节点的内容(包括标记)。
virtual ReadStartElement()检查当前节点是否为元素,并将读取器前进到下一个节点。
virtual ReadStartElement(String)检查当前内容节点是否为具有给定 XmlReader::get_Name 值的元素,并将读取器前进到下一个节点。
virtual ReadStartElement(String, String)检查当前内容节点是否为具有给定 XmlReader::get_LocalNameXmlReader::get_NamespaceURI 值的元素,并将读取器前进到下一个节点。
virtual ReadString()在派生类中重写时,将元素或文本节点的内容读取为字符串。不过,建议改用 XmlReader::ReadElementContentAsString 方法,因为它提供了更直接的处理方式。
virtual ReadSubtree()返回一个新的 XmlReader 实例,可用于读取当前节点及其所有子节点。
virtual ReadToDescendant(String)XmlReader 前进到具有指定限定名称的下一个后代元素。
virtual ReadToDescendant(String, String)XmlReader 前进到具有指定本地名称和命名空间 URI 的下一个后代元素。
virtual ReadToFollowing(String)读取直到找到具有指定限定名称的元素。
virtual ReadToFollowing(String, String)读取直到找到具有指定本地名称和命名空间 URI 的元素。
virtual ReadToNextSibling(String)XmlReader 前进到具有指定限定名称的下一个兄弟元素。
virtual ReadToNextSibling(String, String)XmlReader 前进到具有指定本地名称和命名空间 URI 的下一个兄弟元素。
virtual ReadValueChunk(ArrayPtr<char16_t>, int32_t, int32_t)读取嵌入在 XML 文档中的大文本流。
virtual ResolveEntity()在派生类中重写时,解析 EntityReference 节点的实体引用。
virtual Skip()跳过当前节点的子节点。

Typedefs

类型定义描述
Ptr此类实例的共享指针别名。

另见