System.Xml.NameTable 类

方法描述

实现单线程 XmlNameTable。

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

public class NameTable : XmlNameTable

构造函数

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

成员/方法

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

提示和注释

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

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

System.Xml.NameTable 类例子

下面的示例比较两个元素名。

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.
     }

继承层次结构

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 系统要求。