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 |
获取用于创建此 XmlReader 实例的 XmlReaderSettings 对象。 |
Value |
当在派生类中被重写时,获取当前节点的文本值。 |
ValueType |
获取当前节点的公共语言运行时 (CLR) 类型。 |
XmlLang |
当在派生类中被重写时,获取当前的 |
XmlSpace |
当在派生类中被重写时,获取当前的 |
方法
显式接口实现
IDisposable.Dispose() |
有关此成员的说明,请参见 Dispose()。 |