XmlReader类

命名空间:    System.Xml
程序集:    System.Xml (在 System.Xml.dll 中)
语法
C#
C++
F#
VB
public abstract class XmlReader : IDisposable

XmlReader 类型公开以下成员


构造函数


  名称 说明
受保护的方法 由 XNA Framework 提供支持  XmlReader 初始化 XmlReader 类的新实例。

属性
  名称 说明
公共属性 由 XNA Framework 提供支持  AttributeCount 当在派生类中被重写时,获取当前节点上的特性数。
公共属性 由 XNA Framework 提供支持  BaseURI 当在派生类中被重写时,获取当前节点的基 URI。
公共属性 由 XNA Framework 提供支持  CanReadBinaryContent 获取一个值,该值指示 XmlReader 是否实现二进制内容读取方法。
公共属性 由 XNA Framework 提供支持  CanReadValueChunk 获取一个值,该值指示 XmlReader 是否实现 ReadValueChunk 方法。
公共属性 由 XNA Framework 提供支持  CanResolveEntity 获取一个值,该值指示此读取器是否可以分析和解析实体。
公共属性 由 XNA Framework 提供支持  Depth 当在派生类中被重写时,获取 XML 文档中当前节点的深度。
公共属性 由 XNA Framework 提供支持  EOF 当在派生类中被重写时,获取一个值,该值指示此读取器是否定位在流的结尾。
公共属性 由 XNA Framework 提供支持  HasAttributes 获取一个值,该值指示当前节点是否有任何特性。
公共属性 由 XNA Framework 提供支持  HasValue 当在派生类中被重写时,获取一个值,该值指示当前节点是否可以具有 Value
公共属性 由 XNA Framework 提供支持  IsDefault 当在派生类中被重写时,获取一个值,该值指示当前节点是否是从 DTD 或架构中定义的默认值生成的特性。
公共属性 由 XNA Framework 提供支持  IsEmptyElement 当在派生类中被重写时,获取一个值,该值指示当前节点是否为空元素(例如 <MyElement/>)。
公共属性 由 XNA Framework 提供支持  Item[Int32] 当在派生类中被重写时,获取具有指定索引的特性的值。
公共属性 由 XNA Framework 提供支持  Item[String] 当在派生类中被重写时,获取具有指定 Name 的特性的值。
公共属性 由 XNA Framework 提供支持  Item[String, String] 当在派生类中被重写时,获取具有指定 LocalName 和 NamespaceURI 的特性的值。
公共属性 由 XNA Framework 提供支持  LocalName 当在派生类中被重写时,获取当前节点的本地名称。
公共属性 由 XNA Framework 提供支持  Name 当在派生类中被重写时,获取当前节点的限定名。
公共属性 由 XNA Framework 提供支持  NamespaceURI 当在派生类中被重写时,获取读取器定位在其上的节点的命名空间 URI(采用 W3C 命名空间规范中定义的形式)。
公共属性 由 XNA Framework 提供支持  NameTable 当在派生类中被重写时,获取与该实现关联的 XmlNameTable
公共属性 由 XNA Framework 提供支持  NodeType 当在派生类中被重写时,获取当前节点的类型。
公共属性 由 XNA Framework 提供支持  Prefix 当在派生类中被重写时,获取与当前节点关联的命名空间前缀。
公共属性 由 XNA Framework 提供支持 QuoteChar 当在派生类中被重写时,获取用于括住特性节点值的引号字符。
公共属性 由 XNA Framework 提供支持  ReadState 当在派生类中被重写时,获取读取器的状态。
公共属性 由 XNA Framework 提供支持 SchemaInfo 获取作为架构验证结果分配给当前节点的架构信息。
公共属性 由 XNA Framework 提供支持  Settings 获取用于创建此 XmlReader 实例的 XmlReaderSettings 对象。
公共属性 由 XNA Framework 提供支持  Value 当在派生类中被重写时,获取当前节点的文本值。
公共属性 由 XNA Framework 提供支持  ValueType 获取当前节点的公共语言运行时 (CLR) 类型。
公共属性 由 XNA Framework 提供支持  XmlLang 当在派生类中被重写时,获取当前的 xml:lang 范围。
公共属性 由 XNA Framework 提供支持  XmlSpace 当在派生类中被重写时,获取当前的 xml:space 范围。

方法
  名称 说明
公共方法 由 XNA Framework 提供支持 Close 当在派生类中被重写时,将 ReadState 更改为 Closed
公共方法 静态成员 由 XNA Framework 提供支持  Create(Stream) 使用指定的流创建一个新的 XmlReader 实例。
公共方法 静态成员 由 XNA Framework 提供支持 Create(String) 使用指定的 URI 创建一个新的 XmlReader 实例。
公共方法 静态成员 由 XNA Framework 提供支持  Create(TextReader) 使用指定的 TextReader 创建一个新的 XmlReader 实例。
公共方法 静态成员 由 XNA Framework 提供支持  Create(Stream, XmlReaderSettings) 使用指定的流和 XmlReaderSettings 对象创建一个新的 XmlReader 实例。
公共方法 静态成员 由 XNA Framework 提供支持 Create(String, XmlReaderSettings) 使用指定的 URI 和 XmlReaderSettings 创建一个新的实例。
公共方法 静态成员 由 XNA Framework 提供支持  Create(TextReader, XmlReaderSettings) 使用指定的 TextReader 和 XmlReaderSettings 对象创建一个新的 XmlReader 实例。
公共方法 静态成员 由 XNA Framework 提供支持  Create(XmlReader, XmlReaderSettings) 使用指定的 XmlReader 和 XmlReaderSettings 对象创建一个新的 XmlReader 实例。
公共方法 静态成员 由 XNA Framework 提供支持 Create(Stream, XmlReaderSettings, String) 使用指定的流、基 URI 和 XmlReaderSettings 对象创建一个新的 XmlReader 实例。
公共方法 静态成员 由 XNA Framework 提供支持  Create(Stream, XmlReaderSettings, XmlParserContext) 使用指定的流、XmlReaderSettings 和 XmlParserContext 对象创建一个新的 XmlReader 实例。
公共方法 静态成员 由 XNA Framework 提供支持 Create(String, XmlReaderSettings, XmlParserContext) 使用指定的 URI、XmlReaderSettings 和 XmlParserContext 对象创建一个新的 XmlReader 实例。
公共方法 静态成员 由 XNA Framework 提供支持 Create(TextReader, XmlReaderSettings, String) 使用指定的 TextReaderXmlReaderSettings 和基 URI 创建一个新的 XmlReader 实例。
公共方法 静态成员 由 XNA Framework 提供支持  Create(TextReader, XmlReaderSettings, XmlParserContext) 使用指定的 TextReaderXmlReaderSettings 和 XmlParserContext 对象创建一个新的 XmlReader 实例。
公共方法  Dispose()  
受保护的方法 由 XNA Framework 提供支持  Dispose(Boolean) 释放由 XmlReader 占用的非托管资源,还可以另外再释放托管资源。
公共方法 由 XNA Framework 提供支持  Equals(Object) 确定指定的 Object 是否等于当前的 Object (继承自 Object。)
受保护的方法 由 XNA Framework 提供支持  Finalize 允许对象在“垃圾回收”回收之前尝试释放资源并执行其他清理操作。 (继承自 Object。)
公共方法 由 XNA Framework 提供支持  GetAttribute(Int32) 当在派生类中被重写时,获取具有指定索引的特性的值。
公共方法 由 XNA Framework 提供支持  GetAttribute(String) 当在派生类中被重写时,获取具有指定 Name 的特性的值。
公共方法 由 XNA Framework 提供支持  GetAttribute(String, String) 当在派生类中被重写时,获取具有指定 LocalName 和 NamespaceURI 的特性的值。
公共方法 由 XNA Framework 提供支持  GetHashCode 用作特定类型的哈希函数。 (继承自 Object。)
公共方法 由 XNA Framework 提供支持  GetType 获取当前实例的 Type (继承自 Object。)
公共方法 静态成员 由 XNA Framework 提供支持  IsName 获取一个值,该值指示字符串参数是否是有效的 XML 名称。
公共方法 静态成员 由 XNA Framework 提供支持  IsNameToken 获取一个值,该值指示该字符串参数是否是有效的 XML 名称标记。
公共方法 由 XNA Framework 提供支持  IsStartElement() 调用 MoveToContent 并测试当前内容节点是否是开始标记或空元素标记。
公共方法 由 XNA Framework 提供支持  IsStartElement(String) 调用 MoveToContent 并测试当前内容节点是否是开始标记或空元素标记,以及所找到元素的 Name 属性是否与给定的参数匹配。
公共方法 由 XNA Framework 提供支持  IsStartElement(String, String) 调用 MoveToContent 并测试当前内容节点是否是开始标记或空元素标记,以及所找到元素的 LocalName 和NamespaceURI 属性是否与给定的字符串匹配。
公共方法 由 XNA Framework 提供支持  LookupNamespace 当在派生类中被重写时,在当前元素的范围内解析命名空间前缀。
受保护的方法 由 XNA Framework 提供支持  MemberwiseClone 创建当前 Object 的浅表副本。 (继承自 Object。)
公共方法 由 XNA Framework 提供支持  MoveToAttribute(Int32) 当在派生类中被重写时,移动到具有指定索引的特性。
公共方法 由 XNA Framework 提供支持  MoveToAttribute(String) 当在派生类中被重写时,移动到具有指定 Name 的特性。
公共方法 由 XNA Framework 提供支持  MoveToAttribute(String, String) 当在派生类中被重写时,移动到具有指定的 LocalName 和 NamespaceURI 的特性。
公共方法 由 XNA Framework 提供支持  MoveToContent 检查当前节点是否是内容(非空白文本、CDATAElementEndElementEntityReference 或 EndEntity)节点。如果此节点不是内容节点,则读取器向前跳至下一个内容节点或文件结尾。 它跳过以下类型的节点:ProcessingInstructionDocumentTypeCommentWhitespace 或 SignificantWhitespace
公共方法 由 XNA Framework 提供支持  MoveToElement 当在派生类中被重写时,移动到包含当前特性节点的元素。
公共方法 由 XNA Framework 提供支持  MoveToFirstAttribute 当在派生类中被重写时,移动到第一个特性。
公共方法 由 XNA Framework 提供支持  MoveToNextAttribute 当在派生类中被重写时,移动到下一个特性。
公共方法 由 XNA Framework 提供支持  Read 当在派生类中被重写时,从流中读取下一个节点。
公共方法 由 XNA Framework 提供支持  ReadAttributeValue 当在派生类中被重写时,将特性值解析为一个或多个 TextEntityReference 或 EndEntity 节点。
公共方法 由 XNA Framework 提供支持  ReadContentAs 将内容作为指定类型的对象读取。
公共方法 由 XNA Framework 提供支持  ReadContentAsBase64 读取内容并返回 Base64 解码的二进制字节。
公共方法 由 XNA Framework 提供支持  ReadContentAsBinHex 读取内容并返回 BinHex 解码的二进制字节。
公共方法 由 XNA Framework 提供支持  ReadContentAsBoolean 将当前位置的文本内容作为 Boolean 读取。
公共方法 由 XNA Framework 提供支持 ReadContentAsDateTime 将当前位置的文本内容作为 DateTime 对象读取。
公共方法 由 XNA Framework 提供支持  ReadContentAsDecimal 将当前位置的文本内容作为 Decimal 对象读取。
公共方法 由 XNA Framework 提供支持  ReadContentAsDouble 将当前位置的文本内容作为双精度浮点数读取。
公共方法 由 XNA Framework 提供支持  ReadContentAsFloat 将当前位置的文本内容作为单精度浮点数读取。
公共方法 由 XNA Framework 提供支持  ReadContentAsInt 将当前位置的文本内容作为 32 位有符号整数读取。
公共方法 由 XNA Framework 提供支持  ReadContentAsLong 将当前位置的文本内容作为 64 位有符号整数读取。
公共方法 由 XNA Framework 提供支持  ReadContentAsObject 将当前位置的文本内容作为 Object 读取。
公共方法 由 XNA Framework 提供支持  ReadContentAsString 将当前位置的文本内容作为 String 对象读取。
公共方法 由 XNA Framework 提供支持  ReadElementContentAs(Type, IXmlNamespaceResolver) 将元素内容作为请求类型读取。
公共方法 由 XNA Framework 提供支持  ReadElementContentAs(Type, IXmlNamespaceResolver, String, String) 检查指定的本地名称和命名空间 URI 与当前元素的本地名称和命名空间 URI 是否匹配,然后将元素内容作为请求类型读取。
公共方法 由 XNA Framework 提供支持  ReadElementContentAsBase64 读取元素并对 Base64 内容进行解码。
公共方法 由 XNA Framework 提供支持  ReadElementContentAsBinHex 读取元素并对 BinHex 内容进行解码。
公共方法 由 XNA Framework 提供支持  ReadElementContentAsBoolean() 读取当前元素并将内容作为 Boolean 对象返回。
公共方法 由 XNA Framework 提供支持  ReadElementContentAsBoolean(String, String) 检查指定的本地名称和命名空间 URI 与当前元素的本地名称和命名空间 URI 是否匹配,然后读取当前元素,并将内容作为Boolean 对象返回。
公共方法 由 XNA Framework 提供支持 ReadElementContentAsDateTime() 读取当前元素并将内容作为 DateTime 对象返回。
公共方法 由 XNA Framework 提供支持 ReadElementContentAsDateTime(String, String) 检查指定的本地名称和命名空间 URI 与当前元素的本地名称和命名空间 URI 是否匹配,然后读取当前元素,并将内容作为DateTime 对象返回。
公共方法 由 XNA Framework 提供支持  ReadElementContentAsDecimal() 读取当前元素并将内容作为 Decimal 对象返回。
公共方法 由 XNA Framework 提供支持  ReadElementContentAsDecimal(String, String) 检查指定的本地名称和命名空间 URI 与当前元素的本地名称和命名空间 URI 是否匹配,然后读取当前元素,并将内容作为Decimal 对象返回。
公共方法 由 XNA Framework 提供支持  ReadElementContentAsDouble() 读取当前元素并将内容作为双精度浮点数返回。
公共方法 由 XNA Framework 提供支持  ReadElementContentAsDouble(String, String) 检查指定的本地名称和命名空间 URI 与当前元素的本地名称和命名空间 URI 是否匹配,然后读取当前元素,并将内容作为双精度浮点数返回。
公共方法 由 XNA Framework 提供支持  ReadElementContentAsFloat() 读取当前元素并将内容作为单精度浮点数返回。
公共方法 由 XNA Framework 提供支持  ReadElementContentAsFloat(String, String) 检查指定的本地名称和命名空间 URI 与当前元素的本地名称和命名空间 URI 是否匹配,然后读取当前元素,并将内容作为单精度浮点数返回。
公共方法 由 XNA Framework 提供支持  ReadElementContentAsInt() 读取当前元素并将内容作为 32 位有符号整数返回。
公共方法 由 XNA Framework 提供支持  ReadElementContentAsInt(String, String) 检查指定的本地名称和命名空间 URI 与当前元素的本地名称和命名空间 URI 是否匹配,然后读取当前元素,并将内容作为 32 位有符号整数返回。
公共方法 由 XNA Framework 提供支持  ReadElementContentAsLong() 读取当前元素并将内容作为 64 位有符号整数返回。
公共方法 由 XNA Framework 提供支持  ReadElementContentAsLong(String, String) 检查指定的本地名称和命名空间 URI 与当前元素的本地名称和命名空间 URI 是否匹配,然后读取当前元素,并将内容作为 64 位有符号整返回。
公共方法 由 XNA Framework 提供支持  ReadElementContentAsObject() 读取当前元素并将内容作为 Object 返回。
公共方法 由 XNA Framework 提供支持  ReadElementContentAsObject(String, String) 检查指定的本地名称和命名空间 URI 与当前元素的本地名称和命名空间 URI 是否匹配,然后读取当前元素,并将内容作为Object 返回。
公共方法 由 XNA Framework 提供支持  ReadElementContentAsString() 读取当前元素并将内容作为 String 对象返回。
公共方法 由 XNA Framework 提供支持  ReadElementContentAsString(String, String) 检查指定的本地名称和命名空间 URI 与当前元素的本地名称和命名空间 URI 是否匹配,然后读取当前元素,并将内容作为String 对象返回。
公共方法 由 XNA Framework 提供支持 ReadElementString() 读取纯文本元素。
公共方法 由 XNA Framework 提供支持 ReadElementString(String) 在读取纯文本元素之前,检查所找到元素的 Name 属性是否与给定的字符串匹配。
公共方法 由 XNA Framework 提供支持 ReadElementString(String, String) 在读取纯文本元素之前,检查所找到元素的 LocalName 和 NamespaceURI 属性是否与给定的字符串匹配。
公共方法 由 XNA Framework 提供支持  ReadEndElement 检查当前内容节点是否为结束标记并将读取器推进到下一个节点。
公共方法 由 XNA Framework 提供支持  ReadInnerXml 当在派生类中被重写时,将所有内容(包括标记)当做字符串读取。
公共方法 由 XNA Framework 提供支持  ReadOuterXml 当在派生类中被重写时,读取表示该节点和所有它的子级的内容(包括标记)。
公共方法 由 XNA Framework 提供支持  ReadStartElement() 检查当前节点是否为元素并将读取器推进到下一个节点。
公共方法 由 XNA Framework 提供支持  ReadStartElement(String) 检查当前内容节点是否为具有给定 Name 的元素并将读取器推进到下一个节点。
公共方法 由 XNA Framework 提供支持  ReadStartElement(String, String) 检查当前内容节点是否为具有给定 LocalName 和 NamespaceURI 的元素并将读取器推进到下一个节点。
公共方法 由 XNA Framework 提供支持 ReadString 当在派生类中被重写时,将元素或文本节点的内容当做字符串读取。
公共方法 由 XNA Framework 提供支持  ReadSubtree 返回新的 XmlReader 实例,此实例可用于读取当前节点及其所有子节点。
公共方法 由 XNA Framework 提供支持  ReadToDescendant(String) 让 XmlReader 前进到下一个具有指定限定名的子代元素。
公共方法 由 XNA Framework 提供支持  ReadToDescendant(String, String) 让 XmlReader 前进到下一个具有指定的本地名称和命名空间 URI 的子代元素。
公共方法 由 XNA Framework 提供支持  ReadToFollowing(String) 一直读取,直到找到具有指定限定名的元素。
公共方法 由 XNA Framework 提供支持  ReadToFollowing(String, String) 一直读取,直到找到具有指定的本地名称和命名空间 URI 的元素。
公共方法 由 XNA Framework 提供支持  ReadToNextSibling(String) 让 XmlReader 前进到下一个具有指定限定名的同级元素。
公共方法 由 XNA Framework 提供支持  ReadToNextSibling(String, String) 让 XmlReader 前进到下一个具有指定的本地名称和命名空间 URI 的同级元素。
公共方法 由 XNA Framework 提供支持  ReadValueChunk 读取嵌入在 XML 文档中的大量文本流。
公共方法 由 XNA Framework 提供支持  ResolveEntity 当在派生类中被重写时,解析 EntityReference 节点的实体引用。
公共方法 由 XNA Framework 提供支持  Skip 跳过当前节点的子级。
公共方法 由 XNA Framework 提供支持  ToString 返回表示当前对象的字符串。 (继承自 Object。)

显式接口实现
  名称 说明
显式接口实现 私有方法 由 XNA Framework 提供支持 IDisposable.Dispose 有关此成员的说明,请参见 IDisposable.Dispose

安全注意事项

以下是使用 XmlReader 类时的注意事项。

  • XmlReader 引发的异常会泄漏您不希望冒泡到应用程序的路径信息。 应用程序必须捕捉并适当处理这些异常。

  • 如果您担心出现拒绝服务问题或要处理非信任源,请不要启用 DTD 处理。 对于通过 Create 方法创建的 XmlReader 对象,默认情况下会禁用 DTD 处理。

    如果已经启用了 DTD 处理,则可以使用 XmlSecureResolver 限制 XmlReader 可以访问的资源。 还可以设计应用程序以使 XML 处理受内存和时间的约束。 例如,在 ASP.NET 应用程序中配置超时限制。

  • XML 数据可以包括对外部资源(例如,架构文件)的引用。 在默认情况下,使用不具有用户凭据的 XmlUrlResolver 对象解析外部资源。 通过执行下列操作之一,可以使此操作更加安全:

    • 通过将 XmlReaderSettings.XmlResolver 属性设置为 XmlSecureResolver 对象,限制 XmlReader 可访问的资源。

    • 通过将 XmlReaderSettings.XmlResolver 属性设置为 null,禁止 XmlReader 打开任何外部资源。

  • XML 数据可以包含大量需要很多时间才能处理的特性、命名空间声明、嵌套元素等。 若要限制发送到 XmlReader 的输入大小,请创建自定义 IStream 实现并为其提供XmlReader

  • 可使用 ReadValueChunk 方法处理较大的数据流。 此方法一次读取少量字符,而不是为整个值分配一个字符串。

  • 如果读取的 XML 文档具有大量唯一的本地名称、命名空间或前缀,则可能会发生问题。 如果您要使用从 XmlReader 派生的类,并为每个项调用了 LocalNamePrefix 或NamespaceURI 属性,则返回的字符串将被添加到 NameTable NameTable 包含的集合的大小决不会减小,它会创建字符串句柄的虚拟“内存泄漏”。 缓解这种情况的一种方法是,从 NameTable 类派生并强制使用最大大小的配额。 (无法阻止使用 NameTable,或者在它已满时切换 NameTable)。 另一种缓解是避免使用提到的属性,而是在可能时结合使用 MoveToAttribute 方法和 IsStartElement 方法;这些方法不返回字符串,从而避免了溢出 NameTable 集合的问题。

你可能感兴趣的:(xml,String,object,Stream,文档,whitespace)