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]

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

Item[String]

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

LocalName

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

Name

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

NamespaceURI

派生クラスでオーバーライドされると、リーダーが配置されているノードの名前空間 URI (W3C 名前空間仕様で定義) を取得します。

NameTable

派生クラスでオーバーライドされると、この実装に関連付けられている XmlNameTable を取得します。

NodeType

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

Prefix

派生クラスでオーバーライドされると、現在のノードに関連付けられている名前空間プレフィックスを取得します。

QuoteChar

派生クラスでオーバーライドされると、属性ノードの値を囲むために使用される引用符文字を取得します。

ReadState

派生クラスでオーバーライドされると、リーダーの状態を取得します。

SchemaInfo

スキーマ検証の結果として現在のノードに割り当てられているスキーマ情報を取得します。

Settings

このXmlReaderSettings インスタンスの作成に使用するXmlReader オブジェクトを取得します。

Value

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

ValueType

現在のノードの共通言語ランタイム (CLR) 型を取得します。

XmlLang

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

XmlSpace

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

メソッド

名前 説明
Close()

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

Create(Stream, XmlReaderSettings, String)

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

Create(Stream, XmlReaderSettings, XmlParserContext)

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

Create(Stream, XmlReaderSettings)

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

Create(Stream)

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

Create(String, XmlReaderSettings, XmlParserContext)

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

Create(String, XmlReaderSettings)

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

Create(String)

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

Create(TextReader, XmlReaderSettings, String)

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

Create(TextReader, XmlReaderSettings, XmlParserContext)

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

Create(TextReader, XmlReaderSettings)

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

Create(TextReader)

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

Create(XmlReader, XmlReaderSettings)

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

Dispose()

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

Dispose(Boolean)

XmlReaderによって使用されるアンマネージ リソースを解放し、必要に応じてマネージド リソースを解放します。

Equals(Object)

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

(継承元 Object)
GetAttribute(Int32)

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

GetAttribute(String, String)

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

GetAttribute(String)

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

GetHashCode()

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

(継承元 Object)
GetType()

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

(継承元 Object)
GetValueAsync()

現在のノードの値を非同期的に取得します。

IsName(String)

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

IsNameToken(String)

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

IsStartElement()

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

IsStartElement(String, String)

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

IsStartElement(String)

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

LookupNamespace(String)

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

MemberwiseClone()

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

(継承元 Object)
MoveToAttribute(Int32)

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

MoveToAttribute(String, String)

派生クラスでオーバーライドされると、指定した LocalName を持つ属性に移動し、 NamespaceURI

MoveToAttribute(String)

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

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, String, String)

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

ReadElementContentAs(Type, IXmlNamespaceResolver)

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

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 が現在の要素の URI と一致することを確認し、現在の要素を読み取り、その内容を Boolean オブジェクトとして返します。

ReadElementContentAsDateTime()

現在の要素を読み取り、内容を DateTime オブジェクトとして返します。

ReadElementContentAsDateTime(String, String)

指定したローカル名と名前空間 URI が現在の要素の URI と一致することを確認し、現在の要素を読み取り、その内容を DateTime オブジェクトとして返します。

ReadElementContentAsDecimal()

現在の要素を読み取り、内容を Decimal オブジェクトとして返します。

ReadElementContentAsDecimal(String, String)

指定したローカル名と名前空間 URI が現在の要素の URI と一致することを確認し、現在の要素を読み取り、その内容を Decimal オブジェクトとして返します。

ReadElementContentAsDouble()

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

ReadElementContentAsDouble(String, String)

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

ReadElementContentAsFloat()

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

ReadElementContentAsFloat(String, String)

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

ReadElementContentAsInt()

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

ReadElementContentAsInt(String, String)

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

ReadElementContentAsLong()

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

ReadElementContentAsLong(String, String)

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

ReadElementContentAsObject()

現在の要素を読み取り、内容を Objectとして返します。

ReadElementContentAsObject(String, String)

指定したローカル名と名前空間 URI が現在の要素の URI と一致することを確認し、現在の要素を読み取り、内容を Objectとして返します。

ReadElementContentAsObjectAsync()

現在の要素を非同期に読み取り、内容を Objectとして返します。

ReadElementContentAsString()

現在の要素を読み取り、内容を String オブジェクトとして返します。

ReadElementContentAsString(String, String)

指定したローカル名と名前空間 URI が現在の要素の URI と一致することを確認し、現在の要素を読み取り、その内容を String オブジェクトとして返します。

ReadElementContentAsStringAsync()

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

ReadElementString()

テキストのみの要素を読み取ります。 ただし、代わりに ReadElementContentAsString() メソッドを使用することをお勧めします。これは、この操作をより簡単に処理できるためです。

ReadElementString(String, String)

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

ReadElementString(String)

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

ReadEndElement()

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

ReadInnerXml()

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

ReadInnerXmlAsync()

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

ReadOuterXml()

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

ReadOuterXmlAsync()

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

ReadStartElement()

現在のノードが要素であることを確認し、リーダーを次のノードに進めます。

ReadStartElement(String, String)

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

ReadStartElement(String)

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

ReadString()

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

ReadSubtree()

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

ReadToDescendant(String, String)

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

ReadToDescendant(String)

指定した修飾名を持つ次の子孫要素に XmlReader を進めます。

ReadToFollowing(String, String)

指定したローカル名と名前空間 URI を持つ要素が見つかるまで読み取ります。

ReadToFollowing(String)

指定した修飾名を持つ要素が見つかるまで読み取ります。

ReadToNextSibling(String, String)

指定したローカル名と名前空間 URI を持つ次の兄弟要素に XmlReader を進めます。

ReadToNextSibling(String)

指定した修飾名を持つ次の兄弟要素に XmlReader を進めます。

ReadValueChunk(Char[], Int32, Int32)

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

ReadValueChunkAsync(Char[], Int32, Int32)

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

ResolveEntity()

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

Skip()

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

SkipAsync()

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

ToString()

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

(継承元 Object)

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

名前 説明
IDisposable.Dispose()

このメンバーの説明については、 Dispose()を参照してください。

適用対象

こちらもご覧ください