次の方法で共有


XmlNamespaceManager(XmlNameTable) コンストラクター

定義

XmlNamespaceManager を指定して、XmlNameTable クラスの新しいインスタンスを初期化します。

public:
 XmlNamespaceManager(System::Xml::XmlNameTable ^ nameTable);
public XmlNamespaceManager (System.Xml.XmlNameTable nameTable);
new System.Xml.XmlNamespaceManager : System.Xml.XmlNameTable -> System.Xml.XmlNamespaceManager
Public Sub New (nameTable As XmlNameTable)

パラメーター

nameTable
XmlNameTable

使用する XmlNameTable

例外

null がコンストラクターに渡されます。

次の例では、 XmlNamespaceManager リーダーの name テーブルを使用して を作成します。

      XmlTextReader^ reader = gcnew XmlTextReader( "myfile.xml" );
      XmlNamespaceManager^ nsmanager = gcnew 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 ) ) );
      }
   }

};
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)));
}
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

注釈

名前テーブルは、プレフィックスと名前空間を検索するために使用されます。 事前にアトミック化された文字列を含む既存の名前テーブルをコンストラクターで指定できます。 その場合、いくつかの利点があります。 たとえば、オブジェクトの名前テーブルを使用する XmlReader 場合、読み取りのたびに、名前テーブルにプッシュされた名前空間とプレフィックス文字列を で XmlNamespaceManager再利用できます。

最小単位に分割された文字列の詳細については、XmlNameTable のトピックを参照してください。

注意

既存の名前テーブルを指定した場合、名前テーブル内の名前空間は に自動的に XmlNamespaceManager追加されません。 名前空間を追加または削除するには、 と RemoveNamespace を使用AddNamespaceする必要があります。

適用対象

こちらもご覧ください