XmlNameTable 类

定义

原子化字符串对象表。

public abstract class XmlNameTable
继承
XmlNameTable
派生

示例

以下示例比较两个元素名称。


// 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();

注解

多个类(如 XmlDocumentXmlReader)在内部使用 XmlNameTable 类来存储属性和元素名称。 当 XML 文档中多次出现某个元素名或属性名时,该名称在 XmlNameTable 中只存储一次。

这些名称存储为公共语言运行时 (CLR) 对象类型。 这使您能够对这些字符串进行对象比较,而不是开销更大的字符串比较。 这些字符串对象称为“原子化字符串”。

XmlNameTable 在 类中 NameTable 实现。

构造函数

XmlNameTable()

初始化 XmlNameTable 类的新实例。

方法

Add(Char[], Int32, Int32)

当在派生类中被重写时,将指定的字符串原子化并将其添加到 XmlNameTable

Add(String)

当在派生类中被重写时,将指定的字符串原子化并将其添加到 XmlNameTable

Equals(Object)

确定指定对象是否等于当前对象。

(继承自 Object)
Get(Char[], Int32, Int32)

当在派生类中被重写时,获取与给定数组中指定范围的字符包含相同字符的原子化字符串。

Get(String)

当在派生类中被重写时,获取与指定的字符串包含相同值的原子化字符串。

GetHashCode()

作为默认哈希函数。

(继承自 Object)
GetType()

获取当前实例的 Type

(继承自 Object)
MemberwiseClone()

创建当前 Object 的浅表副本。

(继承自 Object)
ToString()

返回表示当前对象的字符串。

(继承自 Object)

适用于

产品 版本
.NET Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9
.NET Framework 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 1.0, 1.1, 1.2, 1.3, 1.4, 1.6, 2.0, 2.1
UWP 10.0

另请参阅