Sdílet prostřednictvím


XmlNameTable Třída

Definice

Tabulka atomizovaných řetězcových objektů

public ref class XmlNameTable abstract
public abstract class XmlNameTable
type XmlNameTable = class
Public MustInherit Class XmlNameTable
Dědičnost
XmlNameTable
Odvozené

Příklady

Následující příklad porovnává dva názvy elementů.


// Add the element names to the NameTable.
NameTable nt = new NameTable();
object book = nt.Add("book");
object title = nt.Add("title");

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

 while (reader.Read()) {
    if (reader.NodeType == XmlNodeType.Element) {
      // Cache the local name to prevent multiple calls to the LocalName property.
      object localname = reader.LocalName;

      // Do a comparison between the object references. This just compares pointers.
      if (book == localname) {
          // Add additional processing here.
      }
      // Do a comparison between the object references. This just compares pointers.
      if (title == localname) {
         // Add additional processing here.
      }
    }
 }  // End While

// Close the reader.
reader.Close();
' Add the element names to the NameTable.
Dim nt As New NameTable()
Dim book As Object = nt.Add("book")
Dim title As Object = nt.Add("title")

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

While reader.Read()
    If reader.NodeType = XmlNodeType.Element Then
        ' Cache the local name to prevent multiple calls to the LocalName property.
        Dim localname As Object = reader.LocalName
        
        ' Do a comparison between the object references. This just compares pointers.
        If book Is localname Then
           ' Add additional processing here.
        End If 
        ' Do a comparison between the object references. This just compares pointers.
        If title Is localname Then
           ' Add additional processing here.
        End If 
    End If
End While 

' Close the reader.
reader.Close()

Poznámky

Několik tříd, například XmlDocument a XmlReader, používá XmlNameTable třídu interně k ukládání názvů atributů a elementů. Pokud se název elementu nebo atributu v dokumentu XML vyskytuje vícekrát, uloží se v souboru pouze jednou XmlNameTable.

Názvy se ukládají jako typy objektů CLR (Common Language Runtime). To vám umožní provádět porovnání objektů na těchto řetězcích spíše než nákladnější porovnání řetězců. Tyto objekty řetězců se označují jako "atomizované řetězce".

XmlNameTable je implementovaný ve NameTable třídě.

Konstruktory

XmlNameTable()

Inicializuje novou instanci XmlNameTable třídy.

Metody

Add(Char[], Int32, Int32)

Při přepsání v odvozené třídě atomizuje zadaný řetězec a přidá ho XmlNameTabledo .

Add(String)

Při přepsání v odvozené třídě atomizuje zadaný řetězec a přidá ho XmlNameTabledo .

Equals(Object)

Určí, zda se zadaný objekt rovná aktuálnímu objektu.

(Zděděno od Object)
Get(Char[], Int32, Int32)

Při přepsání v odvozené třídě získá atomizovaný řetězec obsahující stejné znaky jako zadaný rozsah znaků v daném poli.

Get(String)

Při přepsání v odvozené třídě získá atomizovaný řetězec obsahující stejnou hodnotu jako zadaný řetězec.

GetHashCode()

Slouží jako výchozí hashovací funkce.

(Zděděno od Object)
GetType()

Získá aktuální Type instanci.

(Zděděno od Object)
MemberwiseClone()

Vytvoří mělkou kopii aktuálního Objectsouboru .

(Zděděno od Object)
ToString()

Vrátí řetězec, který představuje aktuální objekt.

(Zděděno od Object)

Platí pro

Viz také