0

我无法理解这一点:

在此处输入图像描述

为什么微软将 Xattribute 放在 Xobject 下?

他们说 :

属性不是从 XNode 派生的;它们不是 XML 树中的节点。相反,它们只是与元素关联的名称/值对。

很好......有一个元素。

那么为什么不在我抽奖的地方呢?

4

3 回答 3

2

属性属于一个元素。

使用继承意味着“属性一种(特殊的)元素”,这显然是不正确的。例如,一个属性不能有子级。

于 2012-03-24T15:43:22.677 回答
1

该树是一棵继承树,它实际上并没有显示对象是如何一起使用的。

从继承的角度来看,您建议的位置不起作用。元素可以有子元素和属性,因此如果 XAttribute 是从 XElement 派生的,则意味着 Attributes 可以有子元素和它们自己的属性。XContainer 也是如此,因此在树中将 XAttribute 放在 XElement 旁边也没有任何意义。

XNode 是下一步。XAttribute 能适应 XNode 吗?并不真地。当您查看 XML 时,在一般意义上,有 2 个基本结构元素,节点和属性。两者都不是从另一个派生的,因此 XAttribute 和 XNode 位于 XObject 树的不同分支上是有意义的。

剩下的就是 XObject,它是基本的 Xml2Linq 对象类型,所有东西都必须从它派生,所以这是 XAttribute 类型的最佳(也是唯一合适的位置)。

于 2012-03-24T17:15:30.703 回答
0

这是一棵继承树,XAttribute派生自XObject.

于 2012-03-24T15:43:24.517 回答