XmlNameTable 类
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
原子化字符串对象表。
public ref class XmlNameTable abstract
public abstract class XmlNameTable
type XmlNameTable = class
Public MustInherit 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();
' 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()
注解
多个类(如 XmlDocument 和 XmlReader)在内部使用 XmlNameTable
类来存储属性和元素名称。 当 XML 文档中多次出现某个元素名或属性名时,该名称在 XmlNameTable
中只存储一次。
这些名称存储为公共语言运行时 (CLR) 对象类型。 这使您能够对这些字符串进行对象比较,而不是开销更大的字符串比较。 这些字符串对象称为“原子化字符串”。
XmlNameTable
在 类中 NameTable 实现。
构造函数
XmlNameTable() |
初始化 XmlNameTable 类的新实例。 |
方法
Add(Char[], Int32, Int32) |
当在派生类中被重写时,将指定的字符串原子化并将其添加到 |
Add(String) |
当在派生类中被重写时,将指定的字符串原子化并将其添加到 |
Equals(Object) |
确定指定对象是否等于当前对象。 (继承自 Object) |
Get(Char[], Int32, Int32) |
当在派生类中被重写时,获取与给定数组中指定范围的字符包含相同字符的原子化字符串。 |
Get(String) |
当在派生类中被重写时,获取与指定的字符串包含相同值的原子化字符串。 |
GetHashCode() |
作为默认哈希函数。 (继承自 Object) |
GetType() |
获取当前实例的 Type。 (继承自 Object) |
MemberwiseClone() |
创建当前 Object 的浅表副本。 (继承自 Object) |
ToString() |
返回表示当前对象的字符串。 (继承自 Object) |