簡體   English   中英

Linq2Xml XAttribute層次結構位置?

[英]Linq2Xml XAttribute hierarchy location?

我無法理解這一點:

在此處輸入圖片說明

為什么Microsoft將Xattribute置於Xobject之下?

他們說 :

屬性不是從XNode派生的。 它們不是XML樹中的節點。 相反,它們只是與元素關聯的名稱/值對。

很好 ...帶有元素。

那為什么不去哪里抽獎呢?

屬性屬於元素。

使用繼承將意味着“屬性 (一種特殊的)元素”,這顯然是錯誤的。 例如,屬性不能有子級。

該樹是一個繼承樹,它實際上沒有顯示如何將對象一起使用。

從繼承的角度來看,您建議的位置不起作用。 元素可以具有子元素和屬性,因此,如果XAttribute是從XElement派生的,則意味着Attributes可以具有子元素和它們自己的屬性。 XContainer也是如此,因此在樹中將XAttribute放在XElement旁邊也沒有意義。

XNode是下一步。 XAttribute是否適合XNode? 並不是的。 一般來講,當您查看XML時,有兩個基本結構元素,即節點和屬性。 兩者都不是從彼此派生的,因此XAttribute和XNode位於XObject樹的不同分支上是有意義的。

剩下的就是XObject,它是基本的Xml2Linq對象類型,一切都必須從該對象類型派生,因此,這是XAttribute類型的最佳位置(實際上是唯一適當的位置)。

這是一個繼承樹,並且XAttribute是從XObject派生的。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM