XmlReader 类
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
表示提供对 XML 数据的快速、非缓存、仅向前访问的读取器。
public ref class XmlReader abstract : IDisposable
public ref class XmlReader abstract
public abstract class XmlReader : IDisposable
public abstract class XmlReader
type XmlReader = class
interface IDisposable
type XmlReader = class
Public MustInherit Class XmlReader
Implements IDisposable
Public MustInherit Class XmlReader
- 继承
-
XmlReader
- 派生
- 实现
示例
以下示例代码演示如何使用异步 API 分析 XML。
async Task TestReader(System.IO.Stream stream)
{
XmlReaderSettings settings = new XmlReaderSettings();
settings.Async = true;
using (XmlReader reader = XmlReader.Create(stream, settings))
{
while (await reader.ReadAsync())
{
switch (reader.NodeType)
{
case XmlNodeType.Element:
Console.WriteLine("Start Element {0}", reader.Name);
break;
case XmlNodeType.Text:
Console.WriteLine("Text Node: {0}",
await reader.GetValueAsync());
break;
case XmlNodeType.EndElement:
Console.WriteLine("End Element {0}", reader.Name);
break;
default:
Console.WriteLine("Other node {0} with value {1}",
reader.NodeType, reader.Value);
break;
}
}
}
}
Public Async Function TestReader(stream As System.IO.Stream) As Task
Dim settings As New XmlReaderSettings()
settings.Async = True
Using reader As XmlReader = XmlReader.Create(stream, settings)
While (Await reader.ReadAsync())
Select Case (reader.NodeType)
Case XmlNodeType.Element
Console.WriteLine("Start Element {0}", reader.Name)
Case XmlNodeType.Text
Console.WriteLine("Text Node: {0}",
Await reader.GetValueAsync())
Case XmlNodeType.EndElement
Console.WriteLine("End Element {0}", reader.Name)
Case Else
Console.WriteLine("Other node {0} with value {1}",
reader.NodeType, reader.Value)
End Select
End While
End Using
End Function
注解
有关此 API 的详细信息,请参阅 XmlReader 的补充 API 备注。
构造函数
| 名称 | 说明 |
|---|---|
| XmlReader() |
初始化 |
属性
| 名称 | 说明 |
|---|---|
| AttributeCount |
在派生类中重写时,获取当前节点上的属性数。 |
| BaseURI |
在派生类中重写时,获取当前节点的基 URI。 |
| CanReadBinaryContent |
获取一个值, XmlReader 该值指示是否实现二进制内容读取方法。 |
| CanReadValueChunk |
获取一个值,该值指示是否 XmlReader 实现该方法 ReadValueChunk(Char[], Int32, Int32) 。 |
| CanResolveEntity |
获取一个值,该值指示此读取器是否可以分析和解析实体。 |
| Depth |
在派生类中重写时,获取 XML 文档中当前节点的深度。 |
| EOF |
在派生类中重写时,获取一个值,该值指示读取器是否位于流的末尾。 |
| HasAttributes |
获取一个值,该值指示当前节点是否具有任何属性。 |
| HasValue |
在派生类中重写时,获取一个值,该值指示当前节点是否可以具有 Value。 |
| IsDefault |
在派生类中重写时,获取一个值,该值指示当前节点是否是从 DTD 或架构中定义的默认值生成的属性。 |
| IsEmptyElement |
在派生类中重写时,获取一个值,该值指示当前节点是否为空元素(例如)。 |
| Item[Int32] |
在派生类中重写时,获取具有指定索引的属性的值。 |
| Item[String, String] |
在派生类中重写时,获取具有指定 LocalName 属性的值和 NamespaceURI。 |
| Item[String] |
在派生类中重写时,获取具有指定 Name属性的值。 |
| LocalName |
在派生类中重写时,获取当前节点的本地名称。 |
| Name |
在派生类中重写时,获取当前节点的限定名称。 |
| NamespaceURI |
在派生类中重写时,获取读取器所在的节点的命名空间 URI(如 W3C 命名空间规范中定义)。 |
| NameTable |
在派生类中重写时,获取 XmlNameTable 与此实现关联的项。 |
| NodeType |
在派生类中重写时,获取当前节点的类型。 |
| Prefix |
在派生类中重写时,获取与当前节点关联的命名空间前缀。 |
| QuoteChar |
在派生类中重写时,获取用于将属性节点的值括起来的引号字符。 |
| ReadState |
在派生类中重写时,获取读取器的状态。 |
| SchemaInfo |
获取由于架构验证而分配给当前节点的架构信息。 |
| Settings |
XmlReaderSettings获取用于创建此XmlReader实例的对象。 |
| Value |
在派生类中重写时,获取当前节点的文本值。 |
| ValueType |
获取当前节点的公共语言运行时 (CLR) 类型。 |
| XmlLang |
在派生类中重写时,获取当前 |
| XmlSpace |
在派生类中重写时,获取当前 |
方法
显式接口实现
| 名称 | 说明 |
|---|---|
| IDisposable.Dispose() |
有关此成员的说明,请参阅 Dispose()。 |