Xml属性vs Xml内部属性?

时间:2009-09-21 18:06:42

标签: xml

  

可能重复:
  How to design storing complex object settings in an xml
  XML attribute vs XML element

在决定是否应该这样做时,使用的标准是什么:

<Blur Type="Gaussian", Amount=5></Blur>

<Blur>Gaussian, 5</Blur>

如果它是#1,那么你会把它放在括号内?

另外我不知道括号内的哪些值被调用(Gaussian, 5):inside properties

5 个答案:

答案 0 :(得分:6)

  1. XML标记内的值称为标记值。

  2. 您的第二个示例是如何不构造XML的示例(通常,对于任何数据存储,包含XML,您不希望将&gt; 1属性值捆绑到一个blob中,除非您永远保证永远不会单独使用/查询2个值,并且捆绑的性能优势很重要。)

    应该是

  3. <Blur>
     <Type>Gaussian</Type>
     <Amount>5</Amount>
    </Blur>
    

    两者之间的选择有时会模糊,但very good set of guidelines exists from IBM

答案 1 :(得分:4)

好的,首先,第一个表单不是带逗号且没有引号的XML。

其次,您谈论的是属性与子元素,这已经涵盖了hereherehere以及{{3}多次}}

最后,#2门不是任何合理类型的数据结构。通常:使用关系为元数据的属性,使用关系为组合的子元素。

答案 2 :(得分:2)

使用

<Blur Type="Gaussian" Amount="5"/>

这些被称为属性,

inside被称为节点的值

答案 3 :(得分:2)

这实际上取决于XML的使用方式。我的一般经验法则是:

  • 对于简单类型(int,double,string,datetime),请使用属性。
  • 对于复杂类型,请使用子元素。

答案 4 :(得分:0)

如果您愿意,我认为这取决于个人偏好:

<blur>
    <type>Gaussian</type>
    <amount>5</amount>
</blur>

<blur type="Gaussian" amount="5" />

这使您的解析更加轻松自在。有时引用子代而不是属性更容易,这显然取决于您将使用哪种语言进行解析。