System.Xml.XmlNameTable 类

方法描述

原子化字符串对象表。

语法定义(C# System.Xml.XmlNameTable 类 的用法)

public abstract class XmlNameTable

构造函数

构造函数名称 构造函数描述
XmlNameTable 初始化 XmlNameTable 类的新实例。

成员/方法

方法名称 方法描述
Add(String) 当在派生类中被重写时,将指定的字符串原子化并将其添加到 XmlNameTable。
Add(Char[], Int32, Int32) 当在派生类中被重写时,将指定的字符串原子化并将其添加到 XmlNameTable。
Equals(Object) 确定指定的 Object 是否等于当前的 Object。 (继承自 Object。)
Finalize 允许对象在“垃圾回收”回收之前尝试释放资源并执行其他清理操作。 (继承自 Object。)
Get(String) 当在派生类中被重写时,获取与指定的字符串包含相同值的原子化字符串。
Get(Char[], Int32, Int32) 当在派生类中被重写时,获取与给定数组中指定范围的字符包含相同字符的原子化字符串。
GetHashCode 用作特定类型的哈希函数。 (继承自 Object。)
GetType 获取当前实例的 Type。 (继承自 Object。)
MemberwiseClone 创建当前 Object 的浅表副本。 (继承自 Object。)
ToString 返回表示当前对象的字符串。 (继承自 Object。)

提示和注释

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

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

XmlNameTable 在 NameTable 类中实现。

System.Xml.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();

继承层次结构

System.Object

System.Xml.XmlNameTable

System.Xml.NameTable

命名空间

namespace: System.Xml

程序集: System.Xml(在 System.Xml.dll 中)

线程安全

此类型的任何公共 static(在 Visual Basic 中为 Shared) 成员都是线程安全的。但不保证所有实例成员都是线程安全的。

版本信息

.NET Framework 受以下版本支持:4、3.5、3.0、2.0、1.1、1.0 .NET Framework Client Profile 受以下版本支持:4、3.5 SP1 受以下版本支持:

适用平台

Windows 7, Windows Vista SP1 或更高版本, Windows XP SP3, Windows XP SP2 x64 Edition, Windows Server 2008(不支持服务器核心), Windows Server 2008 R2(支持 SP1 或更高版本的服务器核心), Windows Server 2003 SP2 .NET Framework 并不是对每个平台的所有版本都提供支持。有关支持的版本的列表,请参见.NET Framework 系统要求。