指定したファイルを使用して、XmlTextReader クラスの新しいインスタンスを初期化します。
名前空間: System.Xml
アセンブリ: System.Xml (system.xml.dll 内)
構文
'宣言
Public Sub New ( _
url As String _
)
'使用
Dim url As String
Dim instance As New XmlTextReader(url)
public XmlTextReader (
string url
)
public:
XmlTextReader (
String^ url
)
public XmlTextReader (
String url
)
public function XmlTextReader (
url : String
)
パラメータ
- url
XML データを格納しているファイルの URL。BaseURI は、この値に設定されます。
例外
例外の種類 | 条件 |
---|---|
指定されたファイルが見つかりません。 |
|
ファイル名またはディレクトリの一部が見つかりません。 |
|
url が空の文字列です。 |
|
リモート ファイル名を解決できません。 または 要求の処理中にエラーが発生しました。 |
|
url が有効な URI ではありません。 |
解説
注意
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);
使用例
XML を読み込み、各ノードを表示する例を次に示します。
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 によってサポートされていないバージョンがあります。サポートされているバージョンについては、「システム要件」を参照してください。
バージョン情報
.NET Framework
サポート対象 : 2.0、1.1、1.0
.NET Compact Framework
サポート対象 : 2.0、1.0
参照
関連項目
XmlTextReader クラス
XmlTextReader メンバ
System.Xml 名前空間
XmlResolver