共用方式為


使用 XmlNameTable 和 XmlReader 來比較物件

在 XML 文件上剖析資料或是執行比較作業時,XmlNameTable 類別可讓 XmlReader 類別的實作能夠使用指標比較,而不是字串比較。在比較並使用項目和屬性名稱時,使用這個表格可提升 XmlReader 衍生類別的效能。因為每個項目或屬性名稱j都只會配置一次,所以 XmlNameTable 也可降低剖析期間所配置的記憶體數量。若 XML 文件中有相同的名稱重複產生,則會使用儲存名稱的同一個字串物件執行個體。

Note注意事項

在 Microsoft .NET Framework 2.0 版本 中,建議您使用 XmlReaderSettings 類別與 Create 方法來建立 XmlReader 執行個體。如此可讓您充分利用 .NET Framework 所推出的所有新功能。如需詳細資訊,請參閱建立 XML 讀取器

使用 XmlNameTable

XmlNameTable 是一個抽象基底類別,以 NameTable 做為實作。NameTable 包含項目和屬性名稱的原子化版本,並附帶命名空間 URI 和前置詞。如果應用程式正在進行許多項目或屬性名稱的比較,則該應用程式應使用 XmlReaderNameTable。使用者可從 System.Xml.XmlReader.NameTable 屬性取得讀取器正在使用的 NameTable。如需原子化的相關說明,請參閱 XmlNameTable

應用程式可使用 Add 方法在資料表上加入名稱。下列範例顯示接著會使用 Equals 方法或 == 運算子來執行的比較,以判斷方法呼叫中所提供的物件是否是與目前物件相同的執行個體。

Dim cust As Object = reader.NameTable.Add("Customer")
While reader.Read()
   ' The "if" uses efficient pointer comparison.
   If cust Is reader.Name Then
      ...
   End If
End While
object cust = reader.NameTable.Add("Customer");
while (reader.Read())
{
   // The "if" uses efficient pointer comparison.
   if (cust == reader.Name)   
   {
      ...
   }
}

請參閱

概念

使用 XmlReader 讀取 XML

其他資源

使用 XmlReader 類別