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 备注。
Xml |
初始化 |
Attribute |
当在派生类中被重写时,获取当前节点上的属性数。 |
BaseURI |
当在派生类中被重写时,获取当前节点的基 URI。 |
Can |
获取一个值,该值指示 XmlReader 是否实现二进制内容读取方法。 |
Can |
获取一个值,该值指示 XmlReader 是否实现 ReadValueChunk(Char[], Int32, Int32) 方法。 |
Can |
获取一个值,该值指示此读取器是否可以分析和解析实体。 |
Depth |
当在派生类中被重写时,获取 XML 文档中当前节点的深度。 |
EOF |
当在派生类中被重写时,获取一个值,该值指示此读取器是否定位在流的结尾。 |
Has |
获取一个值,该值指示当前节点是否有任何属性。 |
Has |
当在派生类中被重写时,获取一个值,该值指示当前节点是否可以具有 Value。 |
Is |
当在派生类中被重写时,获取一个值,该值指示当前节点是否是从 DTD 或架构中定义的默认值生成的特性。 |
Is |
在派生类中重写时,获取一个值,该值指示当前节点是否为空元素 (,例如 |
Item[Int32] |
当在派生类中被重写时,获取具有指定索引的属性的值。 |
Item[String, String] |
当在派生类中被重写时,获取具有指定 LocalName 和 NamespaceURI 的属性的值。 |
Item[String] |
当在派生类中被重写时,获取具有指定 Name 的属性的值。 |
Local |
当在派生类中被重写时,获取当前节点的本地名称。 |
Name |
当在派生类中被重写时,获取当前节点的限定名。 |
NamespaceURI |
当在派生类中被重写时,获取读取器定位在其上的节点的命名空间 URI(采用 W3C 命名空间规范中定义的形式)。 |
Name |
当在派生类中被重写时,获取与该实现关联的 XmlNameTable。 |
Node |
当在派生类中被重写时,获取当前节点的类型。 |
Prefix |
当在派生类中被重写时,获取与当前节点关联的命名空间前缀。 |
Quote |
当在派生类中被重写时,获取用于括住特性节点值的引号字符。 |
Read |
当在派生类中被重写时,获取读取器的状态。 |
Schema |
获取作为架构验证结果分配给当前节点的架构信息。 |
Settings |
获取用于创建此 XmlReader 实例的 XmlReaderSettings 对象。 |
Value |
当在派生类中被重写时,获取当前节点的文本值。 |
Value |
获取当前节点的公共语言运行时 (CLR) 类型。 |
Xml |
当在派生类中被重写时,获取当前的 |
Xml |
当在派生类中被重写时,获取当前的 |
IDisposable. |
有关此成员的说明,请参见 Dispose()。 |
产品 | 版本 |
---|---|
.NET | Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9 |
.NET Framework | 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1 |
.NET Standard | 1.0, 1.1, 1.2, 1.3, 1.4, 1.6, 2.0, 2.1 |
UWP | 10.0 |