XmlNodeReader クラス
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
XmlNode 内の XML データに対する、高速で非キャッシュの前方向アクセスを提供するリーダーを表します。
public ref class XmlNodeReader : System::Xml::XmlReader, System::Xml::IXmlNamespaceResolver
public ref class XmlNodeReader : System::Xml::XmlReader
public class XmlNodeReader : System.Xml.XmlReader, System.Xml.IXmlNamespaceResolver
public class XmlNodeReader : System.Xml.XmlReader
type XmlNodeReader = class
inherit XmlReader
interface IXmlNamespaceResolver
type XmlNodeReader = class
inherit XmlReader
Public Class XmlNodeReader
Inherits XmlReader
Implements IXmlNamespaceResolver
Public Class XmlNodeReader
Inherits XmlReader
- 継承
- 実装
例
次の例では、XML ファイルが XML ドキュメントに読み込まれ、変更されます。 XML ドキュメントは、XmlNodeReader に渡され、次に、XmlReader.Create が メソッドに渡されます。 検証型リーダーは、ファイルの解析時に、XML ファイルに対するすべての変更を検証できます。
using System;
using System.Xml;
using System.Xml.Schema;
using System.IO;
public class Sample {
public static void Main() {
// Create and load the XML document.
XmlDocument doc = new XmlDocument();
doc.Load("booksSchema.xml");
// Make changes to the document.
XmlElement book = (XmlElement) doc.DocumentElement.FirstChild;
book.SetAttribute("publisher", "Worldwide Publishing");
// Create an XmlNodeReader using the XML document.
XmlNodeReader nodeReader = new XmlNodeReader(doc);
// Set the validation settings on the XmlReaderSettings object.
XmlReaderSettings settings = new XmlReaderSettings();
settings.ValidationType = ValidationType.Schema;
settings.Schemas.Add("urn:bookstore-schema", "books.xsd");
settings.ValidationEventHandler += new ValidationEventHandler (ValidationCallBack);
// Create a validating reader that wraps the XmlNodeReader object.
XmlReader reader = XmlReader.Create(nodeReader, settings);
// Parse the XML file.
while (reader.Read());
}
// Display any validation errors.
private static void ValidationCallBack(object sender, ValidationEventArgs e) {
Console.WriteLine("Validation Error: {0}", e.Message);
}
}
Imports System.Xml
Imports System.Xml.Schema
Imports System.IO
public class Sample
public shared sub Main()
' Create and load the XML document.
Dim doc as XmlDocument = new XmlDocument()
doc.Load("booksSchema.xml")
' Make changes to the document.
Dim book as XmlElement
book = CType(doc.DocumentElement.FirstChild, XmlElement)
book.SetAttribute("publisher", "Worldwide Publishing")
' Create an XmlNodeReader using the XML document.
Dim nodeReader as XmlNodeReader = new XmlNodeReader(doc)
' Set the validation settings on the XmlReaderSettings object.
Dim settings as XmlReaderSettings = new XmlReaderSettings()
settings.ValidationType = ValidationType.Schema
settings.Schemas.Add("urn:bookstore-schema", "books.xsd")
AddHandler settings.ValidationEventHandler, AddressOf ValidationCallBack
' Create a validating reader that wraps the XmlNodeReader object.
Dim reader as XmlReader = XmlReader.Create(nodeReader,settings)
' Parse the XML file.
while (reader.Read())
end while
end sub
' Display any validation errors.
private shared sub ValidationCallBack(sender as object, e as ValidationEventArgs)
Console.WriteLine("Validation Error: {0}", e.Message)
end sub
end class
次の 2 つの XML ファイルが入力として使用されます。
<?xml version='1.0'?>
<bookstore xmlns="urn:bookstore-schema">
<book genre="autobiography">
<title>The Autobiography of Benjamin Franklin</title>
<author>
<first-name>Benjamin</first-name>
<last-name>Franklin</last-name>
</author>
<price>8.99</price>
</book>
<book genre="novel">
<title>The Confidence Man</title>
<author>
<first-name>Herman</first-name>
<last-name>Melville</last-name>
</author>
<price>11.99</price>
</book>
</bookstore>
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns="urn:bookstore-schema"
elementFormDefault="qualified"
targetNamespace="urn:bookstore-schema">
<xsd:element name="bookstore" type="bookstoreType"/>
<xsd:complexType name="bookstoreType">
<xsd:sequence maxOccurs="unbounded">
<xsd:element name="book" type="bookType"/>
</xsd:sequence>
</xsd:complexType>
<xsd:complexType name="bookType">
<xsd:sequence>
<xsd:element name="title" type="xsd:string"/>
<xsd:element name="author" type="authorName"/>
<xsd:element name="price" type="xsd:decimal"/>
</xsd:sequence>
<xsd:attribute name="genre" type="xsd:string"/>
</xsd:complexType>
<xsd:complexType name="authorName">
<xsd:sequence>
<xsd:element name="first-name" type="xsd:string"/>
<xsd:element name="last-name" type="xsd:string"/>
</xsd:sequence>
</xsd:complexType>
</xsd:schema>
出力:
検証エラー : 'publisher' 属性が宣言されていません。
注釈
注意
を使用XmlNodeReaderする代わりに、 クラスと メソッドを使用してインスタンスをXmlReaderSettingsCreate作成XmlReaderすることをお勧めします。 これにより、XML 1.0 の推奨事項への準拠チェックとコンプライアンスを利用できます。
XmlNodeReader
には、XML DOM サブツリーを読み取る機能があります。 このクラスは、ドキュメント型定義 (DTD) またはスキーマの検証をサポートしていません。 ただし、「例」セクションに XmlReader 示すように、オブジェクトを XmlNodeReader ラップしてオブジェクトに格納されているデータを XmlNodeReader 検証するオブジェクトを作成できます。
コンストラクター
XmlNodeReader(XmlNode) |
指定した XmlNode を使用して |
プロパティ
AttributeCount |
現在のノードにある属性の数を取得します。 |
BaseURI |
現在のノードのベース URI を取得します。 |
CanReadBinaryContent |
XmlNodeReader がバイナリ コンテンツ用の読み取りメソッドを実装するかどうかを示す値を取得します。 |
CanReadBinaryContent |
XmlReader がバイナリ コンテンツ用の読み取りメソッドを実装するかどうかを示す値を取得します。 (継承元 XmlReader) |
CanReadValueChunk |
XmlReader が ReadValueChunk(Char[], Int32, Int32) メソッドを実装しているかどうかを示す値を取得します。 (継承元 XmlReader) |
CanResolveEntity |
このリーダーがエンティティを解析および解決できるかどうかを示す値を取得します。 |
Depth |
XML ドキュメント内の現在のノードの深さを取得します。 |
EOF |
リーダーがストリームの末尾に配置されているかどうかを示す値を取得します。 |
HasAttributes |
現在のノードに属性があるかどうかを示す値を取得します。 |
HasValue |
現在のノードが Value を持つことができるかどうかを示す値を取得します。 |
IsDefault |
現在のノードがドキュメント型定義 (DTD) またはスキーマで定義された既定値から生成された属性かどうかを示す値を取得します。 |
IsEmptyElement |
現在のノードが空の要素 (例: |
Item[Int32] |
指定したインデックスの属性の値を取得します。 |
Item[Int32] |
派生クラスでオーバーライドされると、指定したインデックスの属性の値を取得します。 (継承元 XmlReader) |
Item[String, String] |
指定したローカル名および名前空間 URI に関連付けられた属性の値を取得します。 |
Item[String, String] |
派生クラスでオーバーライドされると、指定した LocalName および NamespaceURI の属性の値を取得します。 (継承元 XmlReader) |
Item[String] |
派生クラスでオーバーライドされると、指定した名前の 属性の値を取得します。 |
Item[String] |
派生クラスでオーバーライドされると、指定した Name の属性の値を取得します。 (継承元 XmlReader) |
LocalName |
現在のノードのローカル名を取得します。 |
Name |
現在のノードの限定名を取得します。 |
NamespaceURI |
リーダーが配置されているノードの名前空間 URI (W3C の名前空間の仕様における定義に準拠) を取得します。 |
NameTable |
この実装に関連付けられている XmlNameTable を取得します。 |
NodeType |
現在のノードの種類を取得します。 |
Prefix |
現在のノードに関連付けられた名前空間プリフィックスを取得します。 |
QuoteChar |
属性ノードの値を囲むために使用する引用符文字を取得します。 |
QuoteChar |
派生クラスでオーバーライドされると、属性ノードの値を囲むために使用する引用符文字を取得します。 (継承元 XmlReader) |
ReadState |
リーダーの状態を取得します。 |
SchemaInfo |
現在のノードに割り当てられているスキーマ情報を取得します。 |
SchemaInfo |
スキーマ検証の結果、現在のノードに割り当てられているスキーマ情報を取得します。 (継承元 XmlReader) |
Settings |
この XmlReader インスタンスを作成するために使用された XmlReaderSettings オブジェクトを取得します。 (継承元 XmlReader) |
Value |
現在のノードのテキスト値を取得します。 |
ValueType |
現在のノードの共通言語ランタイム (CLR) 型を取得します。 (継承元 XmlReader) |
XmlLang |
現在の |
XmlSpace |
現在の |
メソッド
Close() |
ReadState を |
Dispose() |
XmlReader クラスの現在のインスタンスによって使用されているすべてのリソースを解放します。 (継承元 XmlReader) |
Dispose(Boolean) |
XmlReader によって使用されているアンマネージド リソースを解放し、オプションでマネージド リソースも解放します。 (継承元 XmlReader) |
Equals(Object) |
指定されたオブジェクトが現在のオブジェクトと等しいかどうかを判断します。 (継承元 Object) |
GetAttribute(Int32) |
指定したインデックスの属性の値を取得します。 |
GetAttribute(String) |
指定した名前の属性の値を取得します。 |
GetAttribute(String, String) |
指定したローカル名および名前空間 URI に関連付けられた属性の値を取得します。 |
GetHashCode() |
既定のハッシュ関数として機能します。 (継承元 Object) |
GetType() |
現在のインスタンスの Type を取得します。 (継承元 Object) |
GetValueAsync() |
現在のノードのテキスト値を非同期に取得します。 (継承元 XmlReader) |
IsStartElement() |
MoveToContent() を呼び出し、現在のコンテンツ ノードが開始タグまたは空の要素タグかどうかをテストします。 (継承元 XmlReader) |
IsStartElement(String) |
MoveToContent() を呼び出し、現在のコンテンツ ノードが開始タグまたは空の要素タグかどうか、また、見つかった要素の Name プロパティが、指定した引数と一致するかどうかをテストします。 (継承元 XmlReader) |
IsStartElement(String, String) |
MoveToContent() を呼び出し、現在のコンテンツ ノードが開始タグまたは空の要素タグかどうか、また、見つかった要素の LocalName プロパティと NamespaceURI プロパティが、指定した文字列と一致するかどうかをテストします。 (継承元 XmlReader) |
LookupNamespace(String) |
現在の要素のスコープ内の名前空間プリフィックスを解決します。 |
MemberwiseClone() |
現在の Object の簡易コピーを作成します。 (継承元 Object) |
MoveToAttribute(Int32) |
指定したインデックスを持つ属性に移動します。 |
MoveToAttribute(String) |
指定した名前を持つ属性へ移動します。 |
MoveToAttribute(String, String) |
指定したローカル名および名前空間 URI の属性に移動します。 |
MoveToContent() |
現在のノードがコンテンツ (空白でないテキスト、 |
MoveToContentAsync() |
現在のノードがコンテンツ ノードであるかどうかを非同期的に確認します。 ノードがコンテンツ ノードでない場合、リーダーは、次のコンテンツ ノードまたはファイルの末尾までスキップします。 (継承元 XmlReader) |
MoveToElement() |
現在の属性ノードを含む要素に移動します。 |
MoveToFirstAttribute() |
最初の属性に移動します。 |
MoveToNextAttribute() |
次の属性に移動します。 |
Read() |
ストリームから次のノードを読み取ります。 |
ReadAsync() |
ストリームから次のノードを非同期に読み取ります。 (継承元 XmlReader) |
ReadAttributeValue() |
属性値を解析して、1 つ以上の |
ReadContentAs(Type, IXmlNamespaceResolver) |
指定された型のオブジェクトとして内容を読み取ります。 (継承元 XmlReader) |
ReadContentAsAsync(Type, IXmlNamespaceResolver) |
指定された型のオブジェクトとして内容を非同期に読み取ります。 (継承元 XmlReader) |
ReadContentAsBase64(Byte[], Int32, Int32) |
コンテンツを読み取り、Base64 でデコードされたバイナリ バイトを返します。 |
ReadContentAsBase64(Byte[], Int32, Int32) |
コンテンツを読み取り、Base64 でデコードされたバイナリ バイトを返します。 (継承元 XmlReader) |
ReadContentAsBase64Async(Byte[], Int32, Int32) |
コンテンツを非同期に読み取り、Base64 でデコードされたバイナリ バイトを返します。 (継承元 XmlReader) |
ReadContentAsBinHex(Byte[], Int32, Int32) |
コンテンツを読み取り、BinHex でデコードされたバイナリ バイトを返します。 |
ReadContentAsBinHex(Byte[], Int32, Int32) |
コンテンツを読み取り、 |
ReadContentAsBinHexAsync(Byte[], Int32, Int32) |
コンテンツを非同期に読み取り、 |
ReadContentAsBoolean() |
現在の位置でテキスト コンテンツを |
ReadContentAsDateTime() |
現在の位置でテキスト コンテンツを DateTime オブジェクトとして読み取ります。 (継承元 XmlReader) |
ReadContentAsDateTimeOffset() |
現在の位置でテキスト コンテンツを DateTimeOffset オブジェクトとして読み取ります。 (継承元 XmlReader) |
ReadContentAsDecimal() |
現在の位置でテキスト コンテンツを Decimal オブジェクトとして読み取ります。 (継承元 XmlReader) |
ReadContentAsDouble() |
現在の位置のテキストの内容を、倍精度浮動小数点数として読み取ります。 (継承元 XmlReader) |
ReadContentAsFloat() |
現在の位置のテキストの内容を、単精度浮動小数点数として読み取ります。 (継承元 XmlReader) |
ReadContentAsInt() |
現在の位置でテキストの内容を 32 ビット符号付き整数として読み取ります。 (継承元 XmlReader) |
ReadContentAsLong() |
現在の位置でテキストの内容を 64 ビット符号付き整数として読み取ります。 (継承元 XmlReader) |
ReadContentAsObject() |
現在の位置でテキスト コンテンツを Object として読み取ります。 (継承元 XmlReader) |
ReadContentAsObjectAsync() |
現在の位置でテキスト コンテンツを Object として非同期に読み取ります。 (継承元 XmlReader) |
ReadContentAsString() |
現在の位置でテキスト コンテンツを String オブジェクトとして読み取ります。 (継承元 XmlReader) |
ReadContentAsStringAsync() |
現在の位置でテキスト コンテンツを String オブジェクトとして非同期に読み取ります。 (継承元 XmlReader) |
ReadElementContentAs(Type, IXmlNamespaceResolver) |
要素の内容を要求された型として返します。 (継承元 XmlReader) |
ReadElementContentAs(Type, IXmlNamespaceResolver, String, String) |
指定されたローカル名と名前空間 URI が現在の要素のものと一致することを確認し、要素の内容を要求された型として読み込みます。 (継承元 XmlReader) |
ReadElementContentAsAsync(Type, IXmlNamespaceResolver) |
要素の内容を要求された型として非同期に読み取ります。 (継承元 XmlReader) |
ReadElementContentAsBase64(Byte[], Int32, Int32) |
要素を読み取り、Base64 のコンテンツをデコードします。 |
ReadElementContentAsBase64(Byte[], Int32, Int32) |
要素を読み取り、 |
ReadElementContentAsBase64Async(Byte[], Int32, Int32) |
要素を非同期に読み取り、 |
ReadElementContentAsBinHex(Byte[], Int32, Int32) |
要素を読み取り、BinHex のコンテンツをデコードします。 |
ReadElementContentAsBinHex(Byte[], Int32, Int32) |
要素を読み取り、 |
ReadElementContentAsBinHexAsync(Byte[], Int32, Int32) |
要素を非同期に読み取り、 |
ReadElementContentAsBoolean() |
現在の要素を読み取り、そのコンテンツを Boolean オブジェクトとして返します。 (継承元 XmlReader) |
ReadElementContentAsBoolean(String, String) |
指定されたローカル名と名前空間 URI が現在の要素のものと一致することを確認し、現在の要素を読み取って、コンテンツを Boolean オブジェクトとして返します。 (継承元 XmlReader) |
ReadElementContentAsDateTime() |
現在の要素を読み取り、そのコンテンツを DateTime オブジェクトとして返します。 (継承元 XmlReader) |
ReadElementContentAsDateTime(String, String) |
指定されたローカル名と名前空間 URI が現在の要素のものと一致することを確認し、現在の要素を読み取って、コンテンツを DateTime オブジェクトとして返します。 (継承元 XmlReader) |
ReadElementContentAsDecimal() |
現在の要素を読み取り、そのコンテンツを Decimal オブジェクトとして返します。 (継承元 XmlReader) |
ReadElementContentAsDecimal(String, String) |
指定されたローカル名と名前空間 URI が現在の要素のものと一致することを確認し、現在の要素を読み取って、コンテンツを Decimal オブジェクトとして返します。 (継承元 XmlReader) |
ReadElementContentAsDouble() |
現在の要素を読み込み、その内容を倍精度浮動小数点数として返します。 (継承元 XmlReader) |
ReadElementContentAsDouble(String, String) |
指定されたローカル名と名前空間 URI が現在の要素のものと一致することを確認し、現在の要素を読み込んで内容を倍精度浮動小数点数として返します。 (継承元 XmlReader) |
ReadElementContentAsFloat() |
現在の要素を読み込み、その内容を単精度浮動小数点数として返します。 (継承元 XmlReader) |
ReadElementContentAsFloat(String, String) |
指定されたローカル名と名前空間 URI が現在の要素のものと一致することを確認し、現在の要素を読み込んで内容を単精度浮動小数点数として返します。 (継承元 XmlReader) |
ReadElementContentAsInt() |
現在の要素を読み取り、その内容を 32 ビット符号付き整数として返します。 (継承元 XmlReader) |
ReadElementContentAsInt(String, String) |
指定されたローカル名と名前空間 URI が現在の要素のものと一致することを確認し、現在の要素を読み込んで内容を 32 ビット符号付き整数として返します。 (継承元 XmlReader) |
ReadElementContentAsLong() |
現在の要素を読み取り、その内容を 64 ビット符号付き整数として返します。 (継承元 XmlReader) |
ReadElementContentAsLong(String, String) |
指定されたローカル名と名前空間 URI が現在の要素のものと一致することを確認し、現在の要素を読み込んで内容を 64 ビット符号付き整数として返します。 (継承元 XmlReader) |
ReadElementContentAsObject() |
現在の要素を読み取り、そのコンテンツを Object として返します。 (継承元 XmlReader) |
ReadElementContentAsObject(String, String) |
指定されたローカル名と名前空間 URI が現在の要素のものと一致することを確認し、現在の要素を読み取って、コンテンツを Object として返します。 (継承元 XmlReader) |
ReadElementContentAsObjectAsync() |
現在の要素を非同期に読み取り、そのコンテンツを Object として返します。 (継承元 XmlReader) |
ReadElementContentAsString() |
現在の要素を読み取り、そのコンテンツを String オブジェクトとして返します。 (継承元 XmlReader) |
ReadElementContentAsString(String, String) |
指定されたローカル名と名前空間 URI が現在の要素のものと一致することを確認し、現在の要素を読み取って、コンテンツを String オブジェクトとして返します。 (継承元 XmlReader) |
ReadElementContentAsStringAsync() |
現在の要素を非同期に読み取り、そのコンテンツを String オブジェクトとして返します。 (継承元 XmlReader) |
ReadElementString() |
テキストのみの要素を読みます。 ただし、ReadElementContentAsString() メソッドを代わりに使用するほうが、この操作を簡単に処理できるため、こちらの方法をお勧めします。 (継承元 XmlReader) |
ReadElementString(String) |
テキストだけの要素を読み取る前に、見つかった要素の Name プロパティが、指定した文字列と一致することを確認します。 ただし、ReadElementContentAsString() メソッドを代わりに使用するほうが、この操作を簡単に処理できるため、こちらの方法をお勧めします。 (継承元 XmlReader) |
ReadElementString(String, String) |
テキストだけの要素を読み取る前に、見つかった要素の LocalName プロパティと NamespaceURI プロパティが、指定した文字列と一致することを確認します。 ただし、ReadElementContentAsString(String, String) メソッドを代わりに使用するほうが、この操作を簡単に処理できるため、こちらの方法をお勧めします。 (継承元 XmlReader) |
ReadEndElement() |
現在のコンテンツ ノードが終了タグで、リーダーを次のノードに進めることを確認します。 (継承元 XmlReader) |
ReadInnerXml() |
派生クラスでオーバーライドされると、マークアップを含むすべての内容を文字列として読み取ります。 (継承元 XmlReader) |
ReadInnerXmlAsync() |
マークアップを含むすべてのコンテンツを文字列として非同期に読み取ります。 (継承元 XmlReader) |
ReadOuterXml() |
派生クラスでオーバーライドされると、このノードとそのすべての子を表す内容 (マークアップを含む) を読み取ります。 (継承元 XmlReader) |
ReadOuterXmlAsync() |
このノードとその子を表すコンテンツをマークアップを含めて非同期に読み取ります。 (継承元 XmlReader) |
ReadStartElement() |
現在のノードが要素であるか調べ、リーダーを次のノードに進めます。 (継承元 XmlReader) |
ReadStartElement(String) |
現在のコンテンツ ノードが、指定した Name を持つ要素で、リーダーを次のノードに進めることを確認します。 (継承元 XmlReader) |
ReadStartElement(String, String) |
現在のコンテンツ ノードが、指定した LocalName と NamespaceURI を持つ要素で、リーダーを次のノードに進めることを確認します。 (継承元 XmlReader) |
ReadString() |
要素ノードまたはテキスト ノードの内容を文字列として読み取ります。 |
ReadSubtree() |
現在のノードおよびそのすべての子孫ノードを読み取るために使用できる、新しい |
ReadToDescendant(String) |
指定された修飾名を使用して XmlReader を次の子孫要素に進めます。 (継承元 XmlReader) |
ReadToDescendant(String, String) |
指定されたローカル名と名前空間 URI を使用して XmlReader を次の子孫要素に進めます。 (継承元 XmlReader) |
ReadToFollowing(String) |
指定された修飾名の要素が見つかるまで読み込みます。 (継承元 XmlReader) |
ReadToFollowing(String, String) |
指定されたローカル名と名前空間 URI が見つかるまで要素を読み込みます。 (継承元 XmlReader) |
ReadToNextSibling(String) |
指定された修飾名を使用して |
ReadToNextSibling(String, String) |
指定されたローカル名と名前空間 URI を使用して、 |
ReadValueChunk(Char[], Int32, Int32) |
XML ドキュメントに埋め込まれたテキストの大量のストリームを読み込みます。 (継承元 XmlReader) |
ReadValueChunkAsync(Char[], Int32, Int32) |
XML ドキュメントに埋め込まれたテキストの大量のストリームを非同期に読み取ります。 (継承元 XmlReader) |
ResolveEntity() |
|
Skip() |
現在のノードの子をスキップします。 |
SkipAsync() |
現在のノードの子を非同期にスキップします。 (継承元 XmlReader) |
ToString() |
現在のオブジェクトを表す文字列を返します。 (継承元 Object) |
明示的なインターフェイスの実装
IDisposable.Dispose() |
このメンバーの詳細については、「Dispose()」をご覧ください。 (継承元 XmlReader) |
IXmlNamespaceResolver.GetNamespacesInScope(XmlNamespaceScope) |
このメンバーの詳細については、「GetNamespacesInScope(XmlNamespaceScope)」をご覧ください。 |
IXmlNamespaceResolver.LookupNamespace(String) |
このメンバーの詳細については、「LookupNamespace(String)」をご覧ください。 |
IXmlNamespaceResolver.LookupPrefix(String) |
このメンバーの詳細については、「LookupPrefix(String)」をご覧ください。 |
適用対象
.NET