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 实现。
Xml |
初始化 XmlNameTable 类的新实例。 |
Add(Char[], Int32, Int32) |
当在派生类中被重写时,将指定的字符串原子化并将其添加到 |
Add(String) |
当在派生类中被重写时,将指定的字符串原子化并将其添加到 |
Equals(Object) |
确定指定对象是否等于当前对象。 (继承自 Object) |
Get(Char[], Int32, Int32) |
当在派生类中被重写时,获取与给定数组中指定范围的字符包含相同字符的原子化字符串。 |
Get(String) |
当在派生类中被重写时,获取与指定的字符串包含相同值的原子化字符串。 |
Get |
作为默认哈希函数。 (继承自 Object) |
Get |
获取当前实例的 Type。 (继承自 Object) |
Memberwise |
创建当前 Object 的浅表副本。 (继承自 Object) |
To |
返回表示当前对象的字符串。 (继承自 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 |