XmlTextReader クラス
アセンブリ: System.Xml (system.xml.dll 内)


![]() |
---|
Microsoft .NET Framework version 2.0 リリースでは、System.Xml.XmlReader.Create メソッドを使用して XmlReader インスタンスを作成することをお勧めします。これにより、このリリースで導入された新機能を十分に活用できます。詳細については、「XML リーダーの作成」を参照してください。 |
XmlTextReader は、XML データのストリームへの前方向の読み取り専用アクセスを提供します。現在のノードは、リーダーが配置されているノードを参照します。リーダーは読み取りメソッドを使用して進み、プロパティには現在のノードの値が反映されます。
このクラスは XmlReader を実装し、W3C 勧告『Extensible Markup Language (XML) 1.0』および勧告『Namespaces in XML』に準拠しています。XmlTextReader は、次の機能を提供します。
-
DocumentType ノードが整形式かどうかを確認します。XmlTextReader は、DTD が整形式かどうかを確認しますが、DTD を使用した検証は行いません。
-
NodeType が XmlNodeType.EntityReference であるノードの場合は、単一の空の EntityReference ノードが返されます。つまり、Value プロパティは String.Empty です。
![]() |
---|
DTD 内のエンティティの実際の宣言は、Entity ノードと呼ばれます。これらのノードをデータで参照するときは、EntityReference ノードと呼ばれます。 |
XmlTextReader は、データ検証に必要な補足チェックを実行しないため、高速の整形式パーサーを提供します。
データ検証を実行するには、検証 XmlReader を使用します。詳細については、「XmlReader による XML データの検証」を参照してください。
XmlDocument から XML データを読み取るには、XmlNodeReader を使用します。
XmlTextReader は、XML 解析エラー時に XmlException をスローします。例外がスローされると、リーダーの状態は予測不可能になります。たとえば、報告されたノード型が、現在のノードの実際のノード型と異なる場合があります。リーダーがエラー状態にあるかどうかを確認するには、ReadState プロパティを使用します。
XmlReader クラスの詳細については、「XmlReader による XML の読み取り」を参照してください。
セキュリティについての考慮事項
XmlTextReader クラスを使用する際の考慮事項を次に示します。
-
XmlTextReader で例外がスローされると、本来アプリケーションには表示されてはならないパス情報が開示されてしまう可能性があります。アプリケーションで例外をキャッチし、適切に処理する必要があります。
-
既定では、DTD 処理が有効になります。サービス拒否攻撃が懸念される場合や、信頼関係のないソースを扱う場合は、DTD 処理を無効にしてください。DTD 処理を無効にするには、ProhibitDtd プロパティを true に設定します。
DTD 処理を有効にした場合、XmlTextReader でアクセスできるリソースを、XmlSecureResolver を使って制限できます。また、XML 処理に対するメモリと時間の割り当てが制限されるようにアプリケーションをデザインすることもできます。たとえば、ASP.NET アプリケーションにタイムアウトの制限を設定します。
-
XML データには、DTD ファイルなど、外部リソースへの参照が含まれている場合があります。既定では、ユーザー資格情報を持たない XmlUrlResolver を使って外部リソースが解決されます。この点については、次のいずれかの方法でセキュリティを強化できます。
-
XML データに大量の属性、名前空間宣言、入れ子にされた要素が含まれると、処理に膨大な時間を要する場合があります。XmlTextReader に送られる入力のサイズを制限するには、カスタムの IStream 実装を作成して、XmlTextReader に適用するようにします。
-
ReadValueChunk メソッドを使用すると、大量のデータ ストリームを処理できます。このメソッドは、値全体に対して単一の文字列を割り当てる代わりに、一度に少数の文字を読み込みます。
-
既定では、一般エンティティが展開されません。一般エンティティは、ResolveEntity メソッドが呼び出されたときに展開されます。

System.Xml.XmlReader
System.Xml.XmlTextReader


Windows 98, Windows 2000 SP4, Windows CE, Windows Millennium Edition, Windows Mobile for Pocket PC, Windows Mobile for Smartphone, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition
開発プラットフォームの中には、.NET Framework によってサポートされていないバージョンがあります。サポートされているバージョンについては、「システム要件」を参照してください。


XmlTextReader コンストラクタ ()
アセンブリ: System.Xml (system.xml.dll 内)


Windows 98, Windows 2000 SP4, Windows CE, Windows Millennium Edition, Windows Mobile for Pocket PC, Windows Mobile for Smartphone, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition
開発プラットフォームの中には、.NET Framework によってサポートされていないバージョンがあります。サポートされているバージョンについては、「システム要件」を参照してください。


XmlTextReader コンストラクタ (TextReader)
アセンブリ: System.Xml (system.xml.dll 内)


![]() |
---|
Microsoft .NET Framework version 2.0 リリースでは、System.Xml.XmlReader.Create メソッドを使用して XmlReader インスタンスを作成することをお勧めします。これにより、このリリースで導入された新機能を十分に活用できます。詳細については、「XML リーダーの作成」を参照してください。 |
TextReader が既に正しいエンコーディングに設定されていることを前提にしています。これは、マルチパート MIME を使用する場合に、ストリームから既に何かを読み取っているクライアントによって使用されます。

StringReader クラスを使用して、XmlTextReader オブジェクトに XML 文字列を読み込む例を次に示します。
Imports System Imports System.IO Imports System.Xml public class Sample public shared sub Main() Dim xmlData as string xmlData = "<book>" & _ " <title>Oberon's Legacy</title>" & _ " <price>5.95</price>" & _ "</book>" ' Create the reader. Dim reader as XmlTextReader = new XmlTextReader(new StringReader(xmlData)) reader.WhitespaceHandling = WhitespaceHandling.None ' Display each element node. while reader.Read() select case reader.NodeType case XmlNodeType.Element Console.Write("<{0}>", reader.Name) case XmlNodeType.Text Console.Write(reader.Value) case XmlNodeType.EndElement Console.Write("</{0}>", reader.Name) end select end while ' Close the reader. reader.Close() end sub end class
using System; using System.IO; using System.Xml; public class Sample { public static void Main() { string xmlData = @"<book> <title>Oberon's Legacy</title> <price>5.95</price> </book>"; // Create the reader. XmlTextReader reader = new XmlTextReader(new StringReader(xmlData)); reader.WhitespaceHandling = WhitespaceHandling.None; // Display each element node. while (reader.Read()){ switch (reader.NodeType){ case XmlNodeType.Element: Console.Write("<{0}>", reader.Name); break; case XmlNodeType.Text: Console.Write(reader.Value); break; case XmlNodeType.EndElement: Console.Write("</{0}>", reader.Name); break; } } // Close the reader. reader.Close(); } } // End class
#using <System.Xml.dll> using namespace System; using namespace System::IO; using namespace System::Xml; int main() { String^ xmlData = "<book>\r\n <title>Oberon's Legacy</title>\r\n <price>5.95</price>\r\n </book>"; // Create the reader. XmlTextReader^ reader = gcnew XmlTextReader( gcnew StringReader( xmlData ) ); reader->WhitespaceHandling = WhitespaceHandling::None; // Display each element node. while ( reader->Read() ) { switch ( reader->NodeType ) { case XmlNodeType::Element: Console::Write( "<{0}>", reader->Name ); break; case XmlNodeType::Text: Console::Write( reader->Value ); break; case XmlNodeType::EndElement: Console::Write( "</{0}>", reader->Name ); break; } } // Close the reader. reader->Close(); }
import System.*; import System.IO.*; import System.Xml.*; public class Sample { public static void main(String[] args) { String xmlData = "<book>\n" + " <title>Oberon's Legacy</title>\n" + " <price>5.95</price>\n" + " </book>"; // Create the reader. XmlTextReader reader = new XmlTextReader(new StringReader(xmlData)); reader.set_WhitespaceHandling(WhitespaceHandling.None); // Display each element node. while (reader.Read()) { switch (reader.get_NodeType()) { case XmlNodeType.Element: Console.Write("<{0}>", reader.get_Name()); break; case XmlNodeType.Text: Console.Write(reader.get_Value()); break; case XmlNodeType.EndElement: Console.Write("</{0}>", reader.get_Name()); break; } } // Close the reader. reader.Close(); } //main } //End class Sample

Windows 98, Windows 2000 SP4, Windows CE, Windows Millennium Edition, Windows Mobile for Pocket PC, Windows Mobile for Smartphone, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition
開発プラットフォームの中には、.NET Framework によってサポートされていないバージョンがあります。サポートされているバージョンについては、「システム要件」を参照してください。


XmlTextReader コンストラクタ (String, XmlNameTable)
アセンブリ: System.Xml (system.xml.dll 内)




Windows 98, Windows 2000 SP4, Windows CE, Windows Millennium Edition, Windows Mobile for Pocket PC, Windows Mobile for Smartphone, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition
開発プラットフォームの中には、.NET Framework によってサポートされていないバージョンがあります。サポートされているバージョンについては、「システム要件」を参照してください。


XmlTextReader コンストラクタ (Stream, XmlNodeType, XmlParserContext)
アセンブリ: System.Xml (system.xml.dll 内)

Public Sub New ( _ xmlFragment As Stream, _ fragType As XmlNodeType, _ context As XmlParserContext _ )
Dim xmlFragment As Stream Dim fragType As XmlNodeType Dim context As XmlParserContext Dim instance As New XmlTextReader(xmlFragment, fragType, context)
public function XmlTextReader ( xmlFragment : Stream, fragType : XmlNodeType, context : XmlParserContext )


![]() |
---|
Microsoft .NET Framework version 2.0 リリースでは、System.Xml.XmlReader.Create メソッドを使用して XmlReader インスタンスを作成することをお勧めします。これにより、このリリースで導入された新機能を十分に活用できます。詳細については、「XML リーダーの作成」を参照してください。 |
このコンストラクタは、指定した文字列を XML のフラグメントとして解析します。XML フラグメントが要素または属性の場合は、整形式 XML ドキュメントのルート レベルの規則をバイパスできます。

Windows 98, Windows 2000 SP4, Windows CE, Windows Millennium Edition, Windows Mobile for Pocket PC, Windows Mobile for Smartphone, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition
開発プラットフォームの中には、.NET Framework によってサポートされていないバージョンがあります。サポートされているバージョンについては、「システム要件」を参照してください。


XmlTextReader コンストラクタ (String, Stream, XmlNameTable)
アセンブリ: System.Xml (system.xml.dll 内)

Dim url As String Dim input As Stream Dim nt As XmlNameTable Dim instance As New XmlTextReader(url, input, nt)



Windows 98, Windows 2000 SP4, Windows CE, Windows Millennium Edition, Windows Mobile for Pocket PC, Windows Mobile for Smartphone, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition
開発プラットフォームの中には、.NET Framework によってサポートされていないバージョンがあります。サポートされているバージョンについては、「システム要件」を参照してください。


XmlTextReader コンストラクタ
![]() |
---|
Microsoft .NET Framework version 2.0 リリースでは、System.Xml.XmlReader.Create メソッドを使用して XmlReader インスタンスを作成することをお勧めします。これにより、このリリースで導入された新機能を十分に活用できます。詳細については、「XML リーダーの作成」を参照してください。 |

名前 | 説明 |
---|---|
XmlTextReader () | XmlTextReader の新しいインスタンスを初期化します。 .NET Compact Framework によってサポートされています。 |
XmlTextReader (Stream) | 指定したストリームを使用して、XmlTextReader クラスの新しいインスタンスを初期化します。 .NET Compact Framework によってサポートされています。 |
XmlTextReader (String) | 指定したファイルを使用して、XmlTextReader クラスの新しいインスタンスを初期化します。 .NET Compact Framework によってサポートされています。 |
XmlTextReader (TextReader) | TextReader を指定して、XmlTextReader クラスの新しいインスタンスを初期化します。 .NET Compact Framework によってサポートされています。 |
XmlTextReader (XmlNameTable) | XmlNameTable を指定して、XmlTextReader クラスの新しいインスタンスを初期化します。 .NET Compact Framework によってサポートされています。 |
XmlTextReader (Stream, XmlNameTable) | 指定したストリームと XmlNameTable を使用して、XmlTextReader クラスの新しいインスタンスを初期化します。 .NET Compact Framework によってサポートされています。 |
XmlTextReader (String, Stream) | 指定した URL とストリームを使用して、XmlTextReader クラスの新しいインスタンスを初期化します。 .NET Compact Framework によってサポートされています。 |
XmlTextReader (String, TextReader) | 指定した URL と TextReader を使用して、XmlTextReader クラスの新しいインスタンスを初期化します。 .NET Compact Framework によってサポートされています。 |
XmlTextReader (String, XmlNameTable) | 指定したファイルと XmlNameTable を使用して、XmlTextReader クラスの新しいインスタンスを初期化します。 .NET Compact Framework によってサポートされています。 |
XmlTextReader (TextReader, XmlNameTable) | 指定した TextReader と XmlNameTable を使用して、XmlTextReader クラスの新しいインスタンスを初期化します。 .NET Compact Framework によってサポートされています。 |
XmlTextReader (Stream, XmlNodeType, XmlParserContext) | 指定したストリーム、XmlNodeType、および XmlParserContext を使用して、XmlTextReader クラスの新しいインスタンスを初期化します。 .NET Compact Framework によってサポートされています。 |
XmlTextReader (String, Stream, XmlNameTable) | 指定した URL、ストリーム、および XmlNameTable を使用して、XmlTextReader クラスの新しいインスタンスを初期化します。 .NET Compact Framework によってサポートされています。 |
XmlTextReader (String, TextReader, XmlNameTable) | 指定した URL、TextReader、および XmlNameTable を使用して、XmlTextReader クラスの新しいインスタンスを初期化します。 .NET Compact Framework によってサポートされています。 |
XmlTextReader (String, XmlNodeType, XmlParserContext) | 指定した文字列、XmlNodeType、および XmlParserContext を使用して、XmlTextReader クラスの新しいインスタンスを初期化します。 .NET Compact Framework によってサポートされています。 |

XmlTextReader コンストラクタ (XmlNameTable)
アセンブリ: System.Xml (system.xml.dll 内)



Windows 98, Windows 2000 SP4, Windows CE, Windows Millennium Edition, Windows Mobile for Pocket PC, Windows Mobile for Smartphone, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition
開発プラットフォームの中には、.NET Framework によってサポートされていないバージョンがあります。サポートされているバージョンについては、「システム要件」を参照してください。


XmlTextReader コンストラクタ (String, Stream)
アセンブリ: System.Xml (system.xml.dll 内)




Windows 98, Windows 2000 SP4, Windows CE, Windows Millennium Edition, Windows Mobile for Pocket PC, Windows Mobile for Smartphone, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition
開発プラットフォームの中には、.NET Framework によってサポートされていないバージョンがあります。サポートされているバージョンについては、「システム要件」を参照してください。


XmlTextReader コンストラクタ (String)
アセンブリ: System.Xml (system.xml.dll 内)



![]() |
---|
Microsoft .NET Framework version 2.0 リリースでは、System.Xml.XmlReader.Create メソッドを使用して XmlReader インスタンスを作成することをお勧めします。これにより、このリリースで導入された新機能を十分に活用できます。詳細については、「XML リーダーの作成」を参照してください。 |
アクセスの資格情報が必要なリソースにファイルがある場合は、XmlResolver プロパティを使用して必要な資格情報を指定します。
![]() |
---|
.NET Framework Version 1.1 では、信頼性が一部しか確認されていないコードでは XmlResolver プロパティを設定できません。代替手段として、必要な資格情報で XmlUrlResolver を作成し、XmlUrlResolver.GetEntity メソッドに URI を渡して、結果として得られた Stream オブジェクトを使用して XmlTextReader を構築します。これは、次の C# コードで記述します。 |
// Create a resolver with the necessary credentials. XmlUrlResolver resolver = new XmlUrlResolver(); NetworkCredential nc = new NetworkCredential(SecurelyStoredUserName, SecurelyStoredPassword, SecurelyStoredDomain); resolver.Credentials = nc; // Get a Stream object containing the XML file. Uri myUri = new Uri ("http://myServer/data/books.xml"); Stream s=(Stream)resolver.GetEntity(myUri, null, typeof(Stream)); // Construct a reader using the Stream object. XmlTextReader reader = new XmlTextReader(s);

Option Strict Option Explicit Imports System Imports System.IO Imports System.Xml 'Reads an XML document Public Class Sample Private Const filename As String = "items.xml" Public Shared Sub Main() Dim reader As XmlTextReader = Nothing Try ' Load the reader with the data file and ignore all white space nodes. reader = New XmlTextReader(filename) reader.WhitespaceHandling = WhitespaceHandling.None ' Parse the file and display each of the nodes. While reader.Read() Select Case reader.NodeType Case XmlNodeType.Element Console.Write("<{0}>", reader.Name) Case XmlNodeType.Text Console.Write(reader.Value) Case XmlNodeType.CDATA Console.Write("<![CDATA[{0}]]>", reader.Value) Case XmlNodeType.ProcessingInstruction Console.Write("<?{0} {1}?>", reader.Name, reader.Value) Case XmlNodeType.Comment Console.Write("<!--{0}-->", reader.Value) Case XmlNodeType.XmlDeclaration Console.Write("<?xml version='1.0'?>") Case XmlNodeType.Document Case XmlNodeType.DocumentType Console.Write("<!DOCTYPE {0} [{1}]", reader.Name, reader.Value) Case XmlNodeType.EntityReference Console.Write(reader.Name) Case XmlNodeType.EndElement Console.Write("</{0}>", reader.Name) End Select End While Finally If Not (reader Is Nothing) Then reader.Close() End If End Try End Sub 'Main End Class 'Sample
using System; using System.IO; using System.Xml; public class Sample { private const String filename = "items.xml"; public static void Main() { XmlTextReader reader = null; try { // Load the reader with the data file and ignore all white space nodes. reader = new XmlTextReader(filename); reader.WhitespaceHandling = WhitespaceHandling.None; // Parse the file and display each of the nodes. while (reader.Read()) { switch (reader.NodeType) { case XmlNodeType.Element: Console.Write("<{0}>", reader.Name); break; case XmlNodeType.Text: Console.Write(reader.Value); break; case XmlNodeType.CDATA: Console.Write("<![CDATA[{0}]]>", reader.Value); break; case XmlNodeType.ProcessingInstruction: Console.Write("<?{0} {1}?>", reader.Name, reader.Value); break; case XmlNodeType.Comment: Console.Write("<!--{0}-->", reader.Value); break; case XmlNodeType.XmlDeclaration: Console.Write("<?xml version='1.0'?>"); break; case XmlNodeType.Document: break; case XmlNodeType.DocumentType: Console.Write("<!DOCTYPE {0} [{1}]", reader.Name, reader.Value); break; case XmlNodeType.EntityReference: Console.Write(reader.Name); break; case XmlNodeType.EndElement: Console.Write("</{0}>", reader.Name); break; } } } finally { if (reader!=null) reader.Close(); } } } // End class
#using <System.Xml.dll> using namespace System; using namespace System::IO; using namespace System::Xml; int main() { XmlTextReader^ reader = nullptr; String^ filename = "items.xml"; try { // Load the reader with the data file and ignore all white space nodes. reader = gcnew XmlTextReader( filename ); reader->WhitespaceHandling = WhitespaceHandling::None; // Parse the file and display each of the nodes. while ( reader->Read() ) { switch ( reader->NodeType ) { case XmlNodeType::Element: Console::Write( "<{0}>", reader->Name ); break; case XmlNodeType::Text: Console::Write( reader->Value ); break; case XmlNodeType::CDATA: Console::Write( "<![CDATA[{0}]]>", reader->Value ); break; case XmlNodeType::ProcessingInstruction: Console::Write( "<?{0} {1}?>", reader->Name, reader->Value ); break; case XmlNodeType::Comment: Console::Write( "<!--{0}-->", reader->Value ); break; case XmlNodeType::XmlDeclaration: Console::Write( "<?xml version='1.0'?>" ); break; case XmlNodeType::Document: break; case XmlNodeType::DocumentType: Console::Write( "<!DOCTYPE {0} [{1}]", reader->Name, reader->Value ); break; case XmlNodeType::EntityReference: Console::Write( reader->Name ); break; case XmlNodeType::EndElement: Console::Write( "</{0}>", reader->Name ); break; } } } finally { if ( reader != nullptr ) reader->Close(); } }
import System.*; import System.IO.*; import System.Xml.*; public class Sample { private static String fileName = "items.xml"; public static void main(String[] args) { XmlTextReader reader = null; try { // Load the reader with the data file and ignore //all white space nodes. reader = new XmlTextReader(fileName); reader.set_WhitespaceHandling(WhitespaceHandling.None); // Parse the file and display each of the nodes. while(reader.Read()) { switch(reader.get_NodeType() ) { case XmlNodeType.Element : Console.Write("<{0}>", reader.get_Name()); break; case XmlNodeType.Text : Console.Write(reader.get_Value()); break; case XmlNodeType.CDATA : Console.Write("<![CDATA[{0}]]>", reader.get_Value()); break; case XmlNodeType.ProcessingInstruction : Console.Write("<?{0} {1}?>", reader.get_Name() , reader.get_Value()); break; case XmlNodeType.Comment : Console.Write("<!--{0}-->", reader.get_Value()); break; case XmlNodeType.XmlDeclaration : Console.Write("<?xml version='1.0'?>"); break; case XmlNodeType.Document : break; case XmlNodeType.DocumentType : Console.Write("<!DOCTYPE {0} [{1}]", reader.get_Name() , reader.get_Value()); break; case XmlNodeType.EntityReference : Console.Write(reader.get_Name()); break; case XmlNodeType.EndElement : Console.Write("</{0}>", reader.get_Name()); break; } } } finally { if (reader != null) { reader.Close(); } } } //main } // End class Sample
この例では、入力として、items.xml というファイルを使用しています。
<?xml version="1.0"?> <!-- This is a sample XML document --> <!DOCTYPE Items [<!ENTITY number "123">]> <Items> <Item>Test with an entity: &number;</Item> <Item>test with a child element <more/> stuff</Item> <Item>test with a CDATA section <![CDATA[<456>]]> def</Item> <Item>Test with an char entity: A</Item> <!-- Fourteen chars in this element.--> <Item>1234567890ABCD</Item> </Items>

Windows 98, Windows 2000 SP4, Windows CE, Windows Millennium Edition, Windows Mobile for Pocket PC, Windows Mobile for Smartphone, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition
開発プラットフォームの中には、.NET Framework によってサポートされていないバージョンがあります。サポートされているバージョンについては、「システム要件」を参照してください。


XmlTextReader コンストラクタ (String, XmlNodeType, XmlParserContext)
アセンブリ: System.Xml (system.xml.dll 内)

Public Sub New ( _ xmlFragment As String, _ fragType As XmlNodeType, _ context As XmlParserContext _ )
Dim xmlFragment As String Dim fragType As XmlNodeType Dim context As XmlParserContext Dim instance As New XmlTextReader(xmlFragment, fragType, context)
public function XmlTextReader ( xmlFragment : String, fragType : XmlNodeType, context : XmlParserContext )


![]() |
---|
Microsoft .NET Framework version 2.0 リリースでは、System.Xml.XmlReader.Create メソッドを使用して XmlReader インスタンスを作成することをお勧めします。これにより、このリリースで導入された新機能を十分に活用できます。詳細については、「XML リーダーの作成」を参照してください。 |
このコンストラクタは、指定した文字列を XML のフラグメントとして解析します。XML フラグメントが要素または属性の場合は、整形式 XML ドキュメントのルート レベルの規則をバイパスできます。このコンストラクタは、ReadInnerXml から返される文字列を処理できます。
fragType の有効値と、リーダーによる異なるノード型の解析方法の一覧を次の表に示します。

XML フラグメントを解析する例を次に示します。XmlParserContext とその XmlNamespaceManager を使用して、名前空間の解決を処理します。
Imports System Imports System.IO Imports System.Xml public class Sample public shared sub Main() 'Create the XML fragment to be parsed. Dim xmlFrag as string ="<book> " & _ "<title>Pride And Prejudice</title>" & _ "<bk:genre>novel</bk:genre>" & _ "</book>" 'Create the XmlNamespaceManager. Dim nt as NameTable = new NameTable() Dim nsmgr as XmlNamespaceManager = new XmlNamespaceManager(nt) nsmgr.AddNamespace("bk", "urn:sample") 'Create the XmlParserContext. Dim context as XmlParserContext = new XmlParserContext(nothing, nsmgr, nothing, XmlSpace.None) 'Create the reader. Dim reader as XmlTextReader = new XmlTextReader(xmlFrag, XmlNodeType.Element, context) 'Parse the XML. If they exist, display the prefix and 'namespace URI of each element. while (reader.Read()) if (reader.IsStartElement()) if (reader.Prefix=String.Empty) Console.WriteLine("<{0}>", reader.LocalName) else Console.Write("<{0}:{1}>", reader.Prefix, reader.LocalName) Console.WriteLine(" The namespace URI is " + reader.NamespaceURI) end if end if end while 'Close the reader. reader.Close() end sub end class
using System; using System.IO; using System.Xml; public class Sample { public static void Main() { //Create the XML fragment to be parsed. string xmlFrag ="<book> " + "<title>Pride And Prejudice</title>" + "<bk:genre>novel</bk:genre>" + "</book>"; //Create the XmlNamespaceManager. NameTable nt = new NameTable(); XmlNamespaceManager nsmgr = new XmlNamespaceManager(nt); nsmgr.AddNamespace("bk", "urn:sample"); //Create the XmlParserContext. XmlParserContext context = new XmlParserContext(null, nsmgr, null, XmlSpace.None); //Create the reader. XmlTextReader reader = new XmlTextReader(xmlFrag, XmlNodeType.Element, context); //Parse the XML. If they exist, display the prefix and //namespace URI of each element. while (reader.Read()){ if (reader.IsStartElement()){ if (reader.Prefix==String.Empty) Console.WriteLine("<{0}>", reader.LocalName); else{ Console.Write("<{0}:{1}>", reader.Prefix, reader.LocalName); Console.WriteLine(" The namespace URI is " + reader.NamespaceURI); } } } //Close the reader. reader.Close(); } } // End class
#using <System.Xml.dll> using namespace System; using namespace System::IO; using namespace System::Xml; int main() { // Create the XML fragment to be parsed. String^ xmlFrag = "<book> <title>Pride And Prejudice</title> <bk:genre>novel</bk:genre> </book>"; // Create the XmlNamespaceManager. NameTable^ nt = gcnew NameTable; XmlNamespaceManager^ nsmgr = gcnew XmlNamespaceManager( nt ); nsmgr->AddNamespace( "bk", "urn:sample" ); // Create the XmlParserContext. XmlParserContext^ context = gcnew XmlParserContext( nullptr,nsmgr,nullptr,XmlSpace::None ); // Create the reader. XmlTextReader^ reader = gcnew XmlTextReader( xmlFrag,XmlNodeType::Element,context ); // Parse the XML. If they exist, display the prefix and // namespace URI of each element. while ( reader->Read() ) { if ( reader->IsStartElement() ) { if ( reader->Prefix == String::Empty ) Console::WriteLine( "< {0}>", reader->LocalName ); else { Console::Write( "< {0}: {1}>", reader->Prefix, reader->LocalName ); Console::WriteLine( " The namespace URI is {0}", reader->NamespaceURI ); } } } // Close the reader. reader->Close(); }
import System.*; import System.IO.*; import System.Xml.*; public class Sample { public static void main(String[] args) { //Create the XML fragment to be parsed. String xmlFrag = "<book> " + "<title>Pride And Prejudice</title>" + "<bk:genre>novel</bk:genre>" + "</book>"; //Create the XmlNamespaceManager. NameTable nt = new NameTable(); XmlNamespaceManager nsmgr = new XmlNamespaceManager(nt); nsmgr.AddNamespace("bk", "urn:sample"); //Create the XmlParserContext. XmlParserContext context = new XmlParserContext(null, nsmgr, null, XmlSpace.None); //Create the reader. XmlTextReader reader = new XmlTextReader(xmlFrag, XmlNodeType.Element, context); //Parse the XML. If they exist, display the prefix and //namespace URI of each element. while (reader.Read()) { if (reader.IsStartElement()) { if (reader.get_Prefix().Equals(String.Empty)) { Console.WriteLine("<{0}>", reader.get_LocalName()); } else { Console.Write("<{0}:{1}>", reader.get_Prefix() , reader.get_LocalName()); Console.WriteLine(" The namespace URI is " + reader.get_NamespaceURI()); } } } //Close the reader. reader.Close(); } //main } //End class Sample

Windows 98, Windows 2000 SP4, Windows CE, Windows Millennium Edition, Windows Mobile for Pocket PC, Windows Mobile for Smartphone, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition
開発プラットフォームの中には、.NET Framework によってサポートされていないバージョンがあります。サポートされているバージョンについては、「システム要件」を参照してください。


XmlTextReader コンストラクタ (String, TextReader, XmlNameTable)
アセンブリ: System.Xml (system.xml.dll 内)

Dim url As String Dim input As TextReader Dim nt As XmlNameTable Dim instance As New XmlTextReader(url, input, nt)


![]() |
---|
Microsoft .NET Framework version 2.0 リリースでは、System.Xml.XmlReader.Create メソッドを使用して XmlReader インスタンスを作成することをお勧めします。これにより、このリリースで導入された新機能を十分に活用できます。詳細については、「XML リーダーの作成」を参照してください。 |
TextReader が既に正しいエンコーディングに設定されていることを前提にしています。これは、マルチパート MIME を使用する場合に、ストリームから既に何かを読み取っているクライアントによって使用されます。

Windows 98, Windows 2000 SP4, Windows CE, Windows Millennium Edition, Windows Mobile for Pocket PC, Windows Mobile for Smartphone, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition
開発プラットフォームの中には、.NET Framework によってサポートされていないバージョンがあります。サポートされているバージョンについては、「システム要件」を参照してください。


XmlTextReader コンストラクタ (Stream)
アセンブリ: System.Xml (system.xml.dll 内)




Windows 98, Windows 2000 SP4, Windows CE, Windows Millennium Edition, Windows Mobile for Pocket PC, Windows Mobile for Smartphone, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition
開発プラットフォームの中には、.NET Framework によってサポートされていないバージョンがあります。サポートされているバージョンについては、「システム要件」を参照してください。


XmlTextReader コンストラクタ (TextReader, XmlNameTable)
アセンブリ: System.Xml (system.xml.dll 内)



![]() |
---|
Microsoft .NET Framework version 2.0 リリースでは、System.Xml.XmlReader.Create メソッドを使用して XmlReader インスタンスを作成することをお勧めします。これにより、このリリースで導入された新機能を十分に活用できます。詳細については、「XML リーダーの作成」を参照してください。 |
TextReader が既に正しいエンコーディングに設定されていることを前提にしています。これは、マルチパート MIME を使用する場合に、ストリームから既に何かを読み取っているクライアントによって使用されます。

Windows 98, Windows 2000 SP4, Windows CE, Windows Millennium Edition, Windows Mobile for Pocket PC, Windows Mobile for Smartphone, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition
開発プラットフォームの中には、.NET Framework によってサポートされていないバージョンがあります。サポートされているバージョンについては、「システム要件」を参照してください。


XmlTextReader コンストラクタ (String, TextReader)
アセンブリ: System.Xml (system.xml.dll 内)


![]() |
---|
Microsoft .NET Framework version 2.0 リリースでは、System.Xml.XmlReader.Create メソッドを使用して XmlReader インスタンスを作成することをお勧めします。これにより、このリリースで導入された新機能を十分に活用できます。詳細については、「XML リーダーの作成」を参照してください。 |
TextReader が既に正しいエンコーディングに設定されていることを前提にしています。これは、マルチパート MIME を使用する場合に、ストリームから既に何かを読み取っているクライアントによって使用されます。

Windows 98, Windows 2000 SP4, Windows CE, Windows Millennium Edition, Windows Mobile for Pocket PC, Windows Mobile for Smartphone, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition
開発プラットフォームの中には、.NET Framework によってサポートされていないバージョンがあります。サポートされているバージョンについては、「システム要件」を参照してください。


XmlTextReader コンストラクタ (Stream, XmlNameTable)
アセンブリ: System.Xml (system.xml.dll 内)



![]() |
---|
Microsoft .NET Framework version 2.0 リリースでは、System.Xml.XmlReader.Create メソッドを使用して XmlReader インスタンスを作成することをお勧めします。これにより、このリリースで導入された新機能を十分に活用できます。詳細については、「XML リーダーの作成」を参照してください。 |

Windows 98, Windows 2000 SP4, Windows CE, Windows Millennium Edition, Windows Mobile for Pocket PC, Windows Mobile for Smartphone, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition
開発プラットフォームの中には、.NET Framework によってサポートされていないバージョンがあります。サポートされているバージョンについては、「システム要件」を参照してください。


XmlTextReader プロパティ


XmlTextReader メソッド


名前 | 説明 | |
---|---|---|
![]() | Dispose | XmlReader によって使用されているアンマネージ リソースを解放し、オプションでマネージ リソースも解放します。 ( XmlReader から継承されます。) |
![]() | Finalize | Object がガベージ コレクションにより収集される前に、その Object がリソースを解放し、その他のクリーンアップ操作を実行できるようにします。 ( Object から継承されます。) |
![]() | MemberwiseClone | 現在の Object の簡易コピーを作成します。 ( Object から継承されます。) |

名前 | 説明 | |
---|---|---|
![]() | System.Xml.IXmlNamespaceResolver.GetNamespacesInScope | このメンバの説明については、IXmlNamespaceResolver.GetNamespacesInScope のトピックを参照してください。 |
![]() | System.Xml.IXmlNamespaceResolver.LookupNamespace | このメンバの説明については、IXmlNamespaceResolver.LookupNamespace のトピックを参照してください。 |
![]() | System.Xml.IXmlNamespaceResolver.LookupPrefix | このメンバの説明については、IXmlNamespaceResolver.LookupPrefix のトピックを参照してください。 |

XmlTextReader メンバ
XML データへの高速で非キャッシュの前方向アクセスを提供するリーダーを表します。
XmlTextReader データ型で公開されるメンバを以下の表に示します。





名前 | 説明 | |
---|---|---|
![]() | Dispose | XmlReader によって使用されているアンマネージ リソースを解放し、オプションでマネージ リソースも解放します。 (XmlReader から継承されます。) |
![]() | Finalize | Object がガベージ コレクションにより収集される前に、その Object がリソースを解放し、その他のクリーンアップ操作を実行できるようにします。 (Object から継承されます。) |
![]() | MemberwiseClone | 現在の Object の簡易コピーを作成します。 (Object から継承されます。) |

名前 | 説明 | |
---|---|---|
![]() | System.Xml.IXmlNamespaceResolver.GetNamespacesInScope | このメンバの説明については、IXmlNamespaceResolver.GetNamespacesInScope のトピックを参照してください。 |
![]() | System.Xml.IXmlNamespaceResolver.LookupNamespace | このメンバの説明については、IXmlNamespaceResolver.LookupNamespace のトピックを参照してください。 |
![]() | System.Xml.IXmlNamespaceResolver.LookupPrefix | このメンバの説明については、IXmlNamespaceResolver.LookupPrefix のトピックを参照してください。 |

- XmlTextReaderのページへのリンク