System.Xml 名前空間


.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
参照

参照

タグ :


Page view tracker