XmlReader クラス

定義

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()

XmlReader クラスの新しいインスタンスを初期化します。

プロパティ

AttributeCount

派生クラスでオーバーライドされると、現在のノードの属性数を取得します。

BaseURI

派生クラスでオーバーライドされると、現在のノードのベース URI を取得します。

CanReadBinaryContent

XmlReader がバイナリ コンテンツ用の読み取りメソッドを実装するかどうかを示す値を取得します。

CanReadValueChunk

XmlReaderReadValueChunk(Char[], Int32, Int32) メソッドを実装しているかどうかを示す値を取得します。

CanResolveEntity

このリーダーがエンティティを解析および解決できるかどうかを示す値を取得します。

Depth

派生クラスでオーバーライドされると、XML ドキュメント内の現在のノードの深さを取得します。

EOF

派生クラスでオーバーライドされると、リーダーがストリームの末尾に配置されているかどうかを示す値を取得します。

HasAttributes

現在のノードに属性があるかどうかを示す値を取得します。

HasValue

派生クラスでオーバーライドされると、現在のノードが Value を持つことができるかどうかを示す値を取得します。

IsDefault

派生クラスでオーバーライドされると、現在のノードが DTD またはスキーマで定義された既定値から生成された属性かどうかを示す値を取得します。

IsEmptyElement

派生クラスでオーバーライドされると、現在のノードが空の要素であるかどうかを示す値を取得します (例: <MyElement/>)。

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

派生クラスでオーバーライドされると、現在の xml:lang スコープを取得します。

XmlSpace

派生クラスでオーバーライドされると、現在の xml:space スコープを取得します。

メソッド

Close()

派生クラスでオーバーライドされると、ReadStateClosed に変更します。

Create(Stream)

既定の設定で指定されたストリームを使用して新しい XmlReader インスタンスを作成します。

Create(Stream, XmlReaderSettings)

指定されたストリームと設定で、新しい XmlReader インスタンスを作成します。

Create(Stream, XmlReaderSettings, String)

指定されたストリーム、ベース URI、設定を使用して、新しい XmlReader インスタンスを作成します。

Create(Stream, XmlReaderSettings, XmlParserContext)

解析のために指定されたストリーム、設定、およびコンテキスト情報を使用して、新しい XmlReader インスタンスを作成します。

Create(String)

指定された URI で新しい XmlReader インスタンスを作成します。

Create(String, XmlReaderSettings)

指定された URI と設定を使用して新しい XmlReader インスタンスを作成します。

Create(String, XmlReaderSettings, XmlParserContext)

指定された URI、設定、解析するためのコンテキスト情報を使用して、新しい XmlReader インスタンスを作成します。

Create(TextReader)

指定されたテキスト リーダーを使用して新しい XmlReader インスタンスを作成します。

Create(TextReader, XmlReaderSettings)

指定されたテキスト リーダーと設定を使用して新しい XmlReader インスタンスを作成します。

Create(TextReader, XmlReaderSettings, String)

指定されたテキスト リーダー、設定、およびベース URI を使用して、新しい XmlReader インスタンスを作成します。

Create(TextReader, XmlReaderSettings, XmlParserContext)

指定したテキスト リーダー、設定、および解析するためのコンテキスト情報を使用して、新しい XmlReader インスタンスを作成します。

Create(XmlReader, XmlReaderSettings)

指定された XML リーダーと設定を使用して新しい XmlReader インスタンスを作成します。

Dispose()

XmlReader クラスの現在のインスタンスによって使用されているすべてのリソースを解放します。

Dispose(Boolean)

XmlReader によって使用されているアンマネージド リソースを解放し、オプションでマネージド リソースも解放します。

Equals(Object)

指定されたオブジェクトが現在のオブジェクトと等しいかどうかを判断します。

(継承元 Object)
GetAttribute(Int32)

派生クラスでオーバーライドされると、指定したインデックスの属性の値を取得します。

GetAttribute(String)

派生クラスでオーバーライドされると、指定した Name の属性の値を取得します。

GetAttribute(String, String)

派生クラスでオーバーライドされると、指定した LocalName および NamespaceURI の属性の値を取得します。

GetHashCode()

既定のハッシュ関数として機能します。

(継承元 Object)
GetType()

現在のインスタンスの Type を取得します。

(継承元 Object)
GetValueAsync()

現在のノードのテキスト値を非同期に取得します。

IsName(String)

文字列引数が有効な XML 名かどうかを示す値を返します。

IsNameToken(String)

文字列引数が有効な XML 名トークンかどうかを示す値を返します。

IsStartElement()

MoveToContent() を呼び出し、現在のコンテンツ ノードが開始タグまたは空の要素タグかどうかをテストします。

IsStartElement(String)

MoveToContent() を呼び出し、現在のコンテンツ ノードが開始タグまたは空の要素タグかどうか、また、見つかった要素の Name プロパティが、指定した引数と一致するかどうかをテストします。

IsStartElement(String, String)

MoveToContent() を呼び出し、現在のコンテンツ ノードが開始タグまたは空の要素タグかどうか、また、見つかった要素の LocalName プロパティと NamespaceURI プロパティが、指定した文字列と一致するかどうかをテストします。

LookupNamespace(String)

派生クラスでオーバーライドされると、現在の要素のスコープの名前空間プリフィックスを解決します。

MemberwiseClone()

現在の Object の簡易コピーを作成します。

(継承元 Object)
MoveToAttribute(Int32)

派生クラスでオーバーライドされると、指定したインデックスの属性に移動します。

MoveToAttribute(String)

派生クラスでオーバーライドされると、指定した Name の属性に移動します。

MoveToAttribute(String, String)

派生クラスでオーバーライドされると、指定した LocalName および NamespaceURI の属性に移動します。

MoveToContent()

現在のノードがコンテンツ (空白でないテキスト、CDATAElementEndElementEntityReference、または EndEntity) ノードかどうかを確認します。 ノードがコンテンツ ノードでない場合、リーダーは、次のコンテンツ ノードまたはファイルの末尾までスキップします。 リーダーは、ProcessingInstructionDocumentTypeCommentWhitespace、または SignificantWhitespace の型のノードをスキップします。

MoveToContentAsync()

現在のノードがコンテンツ ノードであるかどうかを非同期的に確認します。 ノードがコンテンツ ノードでない場合、リーダーは、次のコンテンツ ノードまたはファイルの末尾までスキップします。

MoveToElement()

派生クラスでオーバーライドされると、現在の属性ノードを含む要素に移動します。

MoveToFirstAttribute()

派生クラスでオーバーライドされると、最初の属性に移動します。

MoveToNextAttribute()

派生クラスでオーバーライドされると、次の属性に移動します。

Read()

派生クラスでオーバーライドされると、ストリームから次のノードを読み取ります。

ReadAsync()

ストリームから次のノードを非同期に読み取ります。

ReadAttributeValue()

派生クラスでオーバーライドされると、属性値を解析して、1 つ以上の TextEntityReference、または EndEntity の各ノードに格納します。

ReadContentAs(Type, IXmlNamespaceResolver)

指定された型のオブジェクトとして内容を読み取ります。

ReadContentAsAsync(Type, IXmlNamespaceResolver)

指定された型のオブジェクトとして内容を非同期に読み取ります。

ReadContentAsBase64(Byte[], Int32, Int32)

コンテンツを読み取り、Base64 でデコードされたバイナリ バイトを返します。

ReadContentAsBase64Async(Byte[], Int32, Int32)

コンテンツを非同期に読み取り、Base64 でデコードされたバイナリ バイトを返します。

ReadContentAsBinHex(Byte[], Int32, Int32)

コンテンツを読み取り、BinHex でデコードされたバイナリ バイトを返します。

ReadContentAsBinHexAsync(Byte[], Int32, Int32)

コンテンツを非同期に読み取り、BinHex でデコードされたバイナリ バイトを返します。

ReadContentAsBoolean()

現在の位置でテキスト コンテンツを Boolean として読み取ります。

ReadContentAsDateTime()

現在の位置でテキスト コンテンツを DateTime オブジェクトとして読み取ります。

ReadContentAsDateTimeOffset()

現在の位置でテキスト コンテンツを DateTimeOffset オブジェクトとして読み取ります。

ReadContentAsDecimal()

現在の位置でテキスト コンテンツを Decimal オブジェクトとして読み取ります。

ReadContentAsDouble()

現在の位置のテキストの内容を、倍精度浮動小数点数として読み取ります。

ReadContentAsFloat()

現在の位置のテキストの内容を、単精度浮動小数点数として読み取ります。

ReadContentAsInt()

現在の位置でテキストの内容を 32 ビット符号付き整数として読み取ります。

ReadContentAsLong()

現在の位置でテキストの内容を 64 ビット符号付き整数として読み取ります。

ReadContentAsObject()

現在の位置でテキスト コンテンツを Object として読み取ります。

ReadContentAsObjectAsync()

現在の位置でテキスト コンテンツを Object として非同期に読み取ります。

ReadContentAsString()

現在の位置でテキスト コンテンツを String オブジェクトとして読み取ります。

ReadContentAsStringAsync()

現在の位置でテキスト コンテンツを String オブジェクトとして非同期に読み取ります。

ReadElementContentAs(Type, IXmlNamespaceResolver)

要素の内容を要求された型として返します。

ReadElementContentAs(Type, IXmlNamespaceResolver, String, String)

指定されたローカル名と名前空間 URI が現在の要素のものと一致することを確認し、要素の内容を要求された型として読み込みます。

ReadElementContentAsAsync(Type, IXmlNamespaceResolver)

要素の内容を要求された型として非同期に読み取ります。

ReadElementContentAsBase64(Byte[], Int32, Int32)

要素を読み取り、Base64 の内容をデコードします。

ReadElementContentAsBase64Async(Byte[], Int32, Int32)

要素を非同期に読み取り、Base64 の内容をデコードします。

ReadElementContentAsBinHex(Byte[], Int32, Int32)

要素を読み取り、BinHex の内容をデコードします。

ReadElementContentAsBinHexAsync(Byte[], Int32, Int32)

要素を非同期に読み取り、BinHex の内容をデコードします。

ReadElementContentAsBoolean()

現在の要素を読み取り、そのコンテンツを Boolean オブジェクトとして返します。

ReadElementContentAsBoolean(String, String)

指定されたローカル名と名前空間 URI が現在の要素のものと一致することを確認し、現在の要素を読み取って、コンテンツを Boolean オブジェクトとして返します。

ReadElementContentAsDateTime()

現在の要素を読み取り、そのコンテンツを DateTime オブジェクトとして返します。

ReadElementContentAsDateTime(String, String)

指定されたローカル名と名前空間 URI が現在の要素のものと一致することを確認し、現在の要素を読み取って、コンテンツを DateTime オブジェクトとして返します。

ReadElementContentAsDecimal()

現在の要素を読み取り、そのコンテンツを Decimal オブジェクトとして返します。

ReadElementContentAsDecimal(String, String)

指定されたローカル名と名前空間 URI が現在の要素のものと一致することを確認し、現在の要素を読み取って、コンテンツを Decimal オブジェクトとして返します。

ReadElementContentAsDouble()

現在の要素を読み込み、その内容を倍精度浮動小数点数として返します。

ReadElementContentAsDouble(String, String)

指定されたローカル名と名前空間 URI が現在の要素のものと一致することを確認し、現在の要素を読み込んで内容を倍精度浮動小数点数として返します。

ReadElementContentAsFloat()

現在の要素を読み込み、その内容を単精度浮動小数点数として返します。

ReadElementContentAsFloat(String, String)

指定されたローカル名と名前空間 URI が現在の要素のものと一致することを確認し、現在の要素を読み込んで内容を単精度浮動小数点数として返します。

ReadElementContentAsInt()

現在の要素を読み取り、その内容を 32 ビット符号付き整数として返します。

ReadElementContentAsInt(String, String)

指定されたローカル名と名前空間 URI が現在の要素のものと一致することを確認し、現在の要素を読み込んで内容を 32 ビット符号付き整数として返します。

ReadElementContentAsLong()

現在の要素を読み取り、その内容を 64 ビット符号付き整数として返します。

ReadElementContentAsLong(String, String)

指定されたローカル名と名前空間 URI が現在の要素のものと一致することを確認し、現在の要素を読み込んで内容を 64 ビット符号付き整数として返します。

ReadElementContentAsObject()

現在の要素を読み取り、そのコンテンツを Object として返します。

ReadElementContentAsObject(String, String)

指定されたローカル名と名前空間 URI が現在の要素のものと一致することを確認し、現在の要素を読み取って、コンテンツを Object として返します。

ReadElementContentAsObjectAsync()

現在の要素を非同期に読み取り、そのコンテンツを Object として返します。

ReadElementContentAsString()

現在の要素を読み取り、そのコンテンツを String オブジェクトとして返します。

ReadElementContentAsString(String, String)

指定されたローカル名と名前空間 URI が現在の要素のものと一致することを確認し、現在の要素を読み取って、コンテンツを String オブジェクトとして返します。

ReadElementContentAsStringAsync()

現在の要素を非同期に読み取り、そのコンテンツを String オブジェクトとして返します。

ReadElementString()

テキストのみの要素を読みます。 ただし、ReadElementContentAsString() メソッドを代わりに使用するほうが、この操作を簡単に処理できるため、こちらの方法をお勧めします。

ReadElementString(String)

テキストだけの要素を読み取る前に、見つかった要素の Name プロパティが、指定した文字列と一致することを確認します。 ただし、ReadElementContentAsString() メソッドを代わりに使用するほうが、この操作を簡単に処理できるため、こちらの方法をお勧めします。

ReadElementString(String, String)

テキストだけの要素を読み取る前に、見つかった要素の LocalName プロパティと NamespaceURI プロパティが、指定した文字列と一致することを確認します。 ただし、ReadElementContentAsString(String, String) メソッドを代わりに使用するほうが、この操作を簡単に処理できるため、こちらの方法をお勧めします。

ReadEndElement()

現在のコンテンツ ノードが終了タグで、リーダーを次のノードに進めることを確認します。

ReadInnerXml()

派生クラスでオーバーライドされると、マークアップを含むすべての内容を文字列として読み取ります。

ReadInnerXmlAsync()

マークアップを含むすべてのコンテンツを文字列として非同期に読み取ります。

ReadOuterXml()

派生クラスでオーバーライドされると、このノードとそのすべての子を表す内容 (マークアップを含む) を読み取ります。

ReadOuterXmlAsync()

このノードとその子を表すコンテンツをマークアップを含めて非同期に読み取ります。

ReadStartElement()

現在のノードが要素であるか調べ、リーダーを次のノードに進めます。

ReadStartElement(String)

現在のコンテンツ ノードが、指定した Name を持つ要素で、リーダーを次のノードに進めることを確認します。

ReadStartElement(String, String)

現在のコンテンツ ノードが、指定した LocalNameNamespaceURI を持つ要素で、リーダーを次のノードに進めることを確認します。

ReadString()

派生クラスでオーバーライドされると、要素ノードまたはテキスト ノードの内容を文字列として読み取ります。 ただし、ReadElementContentAsString メソッドを代わりに使用するほうが、この操作を簡単に処理できるため、こちらの方法をお勧めします。

ReadSubtree()

現在のノードおよびそのすべての子孫ノードを読み取るために使用できる、新しい XmlReader インスタンスを返します。

ReadToDescendant(String)

指定された修飾名を使用して XmlReader を次の子孫要素に進めます。

ReadToDescendant(String, String)

指定されたローカル名と名前空間 URI を使用して XmlReader を次の子孫要素に進めます。

ReadToFollowing(String)

指定された修飾名の要素が見つかるまで読み込みます。

ReadToFollowing(String, String)

指定されたローカル名と名前空間 URI が見つかるまで要素を読み込みます。

ReadToNextSibling(String)

指定された修飾名を使用して XmlReader を次の兄弟要素に進めます。

ReadToNextSibling(String, String)

指定されたローカル名と名前空間 URI を使用して、XmlReader を次の兄弟要素に進めます。

ReadValueChunk(Char[], Int32, Int32)

XML ドキュメントに埋め込まれたテキストの大量のストリームを読み込みます。

ReadValueChunkAsync(Char[], Int32, Int32)

XML ドキュメントに埋め込まれたテキストの大量のストリームを非同期に読み取ります。

ResolveEntity()

派生クラスでオーバーライドされると、EntityReference ノードのエンティティ参照を解決します。

Skip()

現在のノードの子をスキップします。

SkipAsync()

現在のノードの子を非同期にスキップします。

ToString()

現在のオブジェクトを表す文字列を返します。

(継承元 Object)

明示的なインターフェイスの実装

IDisposable.Dispose()

このメンバーの詳細については、「Dispose()」をご覧ください。

適用対象

こちらもご覧ください