XmlNameTable Třída
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
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 |
Add(String) |
Při přepsání v odvozené třídě atomizuje zadaný řetězec a přidá ho |
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) |