林無法理解這一點:Linq2Xml XAttribute層次結構位置?
爲什麼微軟把Xattribute X對象下?
他們說:
屬性不是從XNode導出;它們不是XML 樹中的節點。相反,它們只是與 元素關聯的名稱/值對。
罰款 ...用元素。
那麼爲什麼不在我抽籤的地方?
林無法理解這一點:Linq2Xml XAttribute層次結構位置?
爲什麼微軟把Xattribute X對象下?
他們說:
屬性不是從XNode導出;它們不是XML 樹中的節點。相反,它們只是與 元素關聯的名稱/值對。
罰款 ...用元素。
那麼爲什麼不在我抽籤的地方?
這棵樹是一棵繼承樹,它實際上並不顯示這些對象如何一起使用。
你所建議的位置從繼承的角度看並不起作用。元素可以具有子元素和屬性,因此如果XAttribute是從XElement派生的,則意味着屬性可以具有子元素和它們自己的屬性。 XContainer也是如此,因此將XAttribute放置在樹中的XElement旁邊也沒有任何意義。
XNode是下一步。 XAttribute可以放在XNode下嗎?不是真的。從一般意義上講,當您查看XML時,有2個基本結構元素,節點和屬性。兩者都不是從另一個派生的,所以XAttribute和XNode在XObject樹的不同分支上是有意義的。
這只是保留了XObject,它是基本的Xml2Linq對象類型,並且所有東西都必須從它派生出來,所以對於XAttribute類型來說這是最好的(也是唯一合適的位置)。
屬性屬於的元素。
使用繼承意味着「一個屬性是一種(特殊的)元素」,這顯然是不正確的。例如,一個屬性不能有孩子。
這是繼承樹,並且XAttribute
源自XObject
。