更新 : 2007 年 11 月
名前空間 :
System.Xml
アセンブリ :
System.Xml (System.Xml.dll 内)
Public Class NameTable _
Inherits XmlNameTable
Dim instance As NameTable
public class NameTable : XmlNameTable
public ref class NameTable : public XmlNameTable
public class NameTable extends XmlNameTable
public class NameTable extends XmlNameTable
XmlDocument や XmlReader などのクラスは、内部的に NameTable クラスを使用して、属性名および要素名を格納します。要素名または属性名が複数回 XML ドキュメントに出現した場合は、NameTable に 1 回だけ格納されます。
名前は、共通言語ランタイム (CLR) オブジェクト型として格納されます。これにより、負荷のかかる文字列比較ではなく、これらの文字列でオブジェクト比較を実行できます。これらの文字列オブジェクトは最小単位に分割された文字列として参照されます。
2 つの要素名を比較する例を次に示します。
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
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.
}
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.
}
//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
参照