XmlReader 類別
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
表示提供快速、非快取、順向 (Forward-only) 存取 XML 資料的讀取器 (Reader)。
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 |
取得目前節點的 Common Language Runtime (CLR) 型別。 |
XmlLang |
當在衍生類別中覆寫時,取得目前 |
XmlSpace |
當在衍生類別中覆寫時,取得目前 |
方法
明確介面實作
IDisposable.Dispose() |
如需這個成員的說明,請參閱 Dispose()。 |