クリックして評価とフィードバックをお寄せください
MSDN
MSDN ライブラリ
.NET 開発
.NET Framework 3.5
.NET Framework 3.5
System.Xml 名前空間
NameTable クラス
すべて縮小/すべて展開 すべて縮小
このページは次のバージョンについて記述しています。
Microsoft Visual Studio 2008/.NET Framework 3.5

その他のバージョンについては、以下の情報を参照してください。
.NET Framework クラス ライブラリ
NameTable クラス

更新 : 2007 年 11 月

シングルスレッド XmlNameTable を実装します。

名前空間 :  System.Xml
アセンブリ :  System.Xml (System.Xml.dll 内)
Visual Basic (宣言)
Public Class NameTable _
    Inherits XmlNameTable
Visual Basic (使用法)
Dim instance As NameTable
C#
public class NameTable : XmlNameTable
Visual C++
public ref class NameTable : public XmlNameTable
J#
public class NameTable extends XmlNameTable
JScript
public class NameTable extends XmlNameTable

XmlDocumentXmlReader などのクラスは、内部的に NameTable クラスを使用して、属性名および要素名を格納します。要素名または属性名が複数回 XML ドキュメントに出現した場合は、NameTable に 1 回だけ格納されます。

名前は、共通言語ランタイム (CLR) オブジェクト型として格納されます。これにより、負荷のかかる文字列比較ではなく、これらの文字列でオブジェクト比較を実行できます。これらの文字列オブジェクトは最小単位に分割された文字列として参照されます。

2 つの要素名を比較する例を次に示します。

Visual Basic
Dim nt As NameTable  = New NameTable()
Dim book As object = nt.Add("book")
Dim price As object = nt.Add("price")

' Create the reader.
Dim settings As XmlReaderSettings = New XmlReaderSettings()
settings.NameTable = nt
Dim reader As XmlReader = XmlReader.Create("books.xml", settings)

reader.MoveToContent()
reader.ReadToDescendant("book")

 If (System.Object.ReferenceEquals(book, reader.Name)) 
     ' Do additional processing.
 End If

C#
NameTable nt = new NameTable();
object book = nt.Add("book");
object price = nt.Add("price");

// Create the reader.
XmlReaderSettings settings = new XmlReaderSettings();
settings.NameTable = nt;
XmlReader reader = XmlReader.Create("books.xml", settings);

reader.MoveToContent();
reader.ReadToDescendant("book");

 if (System.Object.ReferenceEquals(book, reader.Name)) {
     // Do additional processing.
 }

Visual C++
NameTable^ nt = gcnew NameTable;
Object^ book = nt->Add( "book" );
Object^ price = nt->Add( "price" );

// Create the reader.
XmlReaderSettings ^ settings = gcnew XmlReaderSettings;
settings->NameTable = nt;
XmlReader^ reader = XmlReader::Create( (String^)"books.xml", settings );
reader->MoveToContent();
reader->ReadToDescendant( "book" );
if ( System::Object::ReferenceEquals( book, reader->Name ) )
{

   // Do additional processing.
}
J#
//Create the reader.
XmlTextReader rdr = new XmlTextReader("book.xml");
NameTable nt = new NameTable();
String name = nt.Add("book");

while (rdr.Read()) {
}
if (rdr.get_NameTable().Get("book").Equals(name)) {
    Console.WriteLine("matches!");
}
System..::.Object
  System.Xml..::.XmlNameTable
    System.Xml..::.NameTable
この型のすべてのパブリック static (Visual Basic では Shared) メンバは、スレッド セーフです。インスタンス メンバの場合は、スレッド セーフであるとは限りません。

Windows Vista, Windows XP SP2, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP Starter Edition, Windows Server 2003, Windows Server 2000 SP4, Windows Millennium Edition, Windows 98, Windows CE, Windows Mobile for Smartphone, Windows Mobile for Pocket PC, Xbox 360

.NET Framework および .NET Compact Framework では、各プラットフォームのすべてのバージョンはサポートしていません。サポートされているバージョンについては、「.NET Framework システム要件」を参照してください。

.NET Framework

サポート対象 : 3.5、3.0、2.0、1.1、1.0

.NET Compact Framework

サポート対象 : 3.5、2.0、1.0

XNA Framework

サポート対象 : 2.0、1.0
コミュニティ コンテンツ   コミュニティ コンテンツとは
新しいコンテンツの追加 RSS  注釈
Processing
© 2009 Microsoft Corporation. All rights reserved. 使用条件 | 商標 | プライバシー
Page view tracker