XmlNamespaceManager コンストラクタ
指定した XmlNameTable を使用して、 XmlNamespaceManager クラスの新しいインスタンスを初期化します。
Public Sub New( _
ByVal nameTable As XmlNameTable _)
[C#]
public XmlNamespaceManager(
XmlNameTablenameTable);
[C++]
public: XmlNamespaceManager(
XmlNameTable* nameTable);
[JScript]
public function XmlNamespaceManager(
nameTable : XmlNameTable);
パラメータ
- nameTable
使用する XmlNameTable 。
例外
例外の種類 | 条件 |
---|---|
NullReferenceException | null 参照 (Visual Basic では Nothing) がコンストラクタに渡されます。 |
解説
名前テーブルは、プリフィックスおよび名前空間を検索するために使用されます。事前に最小単位に分割された文字列を持つ既存の名前テーブルをコンストラクタで指定できます。これにはいくつかの利点があります。XmlReader の名前テーブルを使用した場合、読み取りが実行されるたびに名前テーブルにプッシュされた名前空間およびプリフィックス文字列は、 XmlNamespaceManager で再利用できます。また、 XmlNamespaceManager は、 XmlReader によって内部的に使用されるため、文字列を最小単位に分割するリーダーの機能を利用できます。
最小単位に分割された文字列の詳細については、 XmlNameTable のトピックを参照してください。
メモ 既存の名前テーブルを指定した場合、その名前テーブルの名前空間は自動的には XmlNamespaceManager に追加されません。名前空間を追加または削除するには、 AddNamespace および RemoveNamespace を使用する必要があります。
使用例
[Visual Basic, C#, C++] リーダーの名前テーブルを使用して XmlNamespaceManager を作成する例を次に示します。
Dim reader As New XmlTextReader("myfile.xml")
Dim nsmanager As New XmlNamespaceManager(reader.NameTable)
nsmanager.AddNamespace("msbooks", "www.microsoft.com/books")
nsmanager.PushScope()
nsmanager.AddNamespace("msstore", "www.microsoft.com/store")
While reader.Read()
Console.WriteLine("Reader Prefix:{0}", reader.Prefix)
Console.WriteLine("XmlNamespaceManager Prefix:{0}", nsmanager.LookupPrefix(nsmanager.NameTable.Get(reader.NamespaceURI)))
End While
[C#]
XmlTextReader reader = new XmlTextReader("myfile.xml");
XmlNamespaceManager nsmanager = new XmlNamespaceManager(reader.NameTable);
nsmanager.AddNamespace("msbooks", "www.microsoft.com/books");
nsmanager.PushScope();
nsmanager.AddNamespace("msstore", "www.microsoft.com/store");
while (reader.Read())
{
Console.WriteLine("Reader Prefix:{0}", reader.Prefix);
Console.WriteLine("XmlNamespaceManager Prefix:{0}",
nsmanager.LookupPrefix(nsmanager.NameTable.Get(reader.NamespaceURI)));
}
[C++]
XmlTextReader* reader = new XmlTextReader(S"myfile.xml");
XmlNamespaceManager* nsmanager = new XmlNamespaceManager(reader->NameTable);
nsmanager->AddNamespace(S"msbooks", S"www.microsoft.com/books");
nsmanager->PushScope();
nsmanager->AddNamespace(S"msstore", S"www.microsoft.com/store");
while (reader->Read())
{
Console::WriteLine(S"Reader Prefix:{0}",reader->Prefix);
Console::WriteLine(S"XmlNamespaceManager Prefix:{0}",
nsmanager->LookupPrefix(nsmanager->NameTable->Get(reader->NamespaceURI)));
}
[JScript] JScript のサンプルはありません。Visual Basic、C#、および C++ のサンプルを表示するには、このページの左上隅にある言語のフィルタ ボタン をクリックします。
必要条件
プラットフォーム: Windows 98, Windows NT 4.0, Windows Millennium Edition, Windows 2000, Windows XP Home Edition, Windows XP Professional, Windows Server 2003 ファミリ, .NET Compact Framework - Windows CE .NET, Common Language Infrastructure (CLI) Standard
参照
XmlNamespaceManager クラス | XmlNamespaceManager メンバ | System.Xml 名前空間