次の方法で共有


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 名前空間