XML性能:元素与属性

时间:2014-05-03 04:55:59

标签: xml performance

我对XML设计有一个非常基本的问题。我有用于生成UI的XML。它的格式如下:

<Input>
  <Label>Enter Machine Name</Label>
  <ToolTip> Please enter the correct machine name</ToolTip>
  <Type>TextField</Type>
</Input>

我的问题是 是否更好地或以下面的格式编写XML以获得更好的处理时间结果。

<Input Label="Enter Machine Name" 
       ToolTip="Please enter machine name"
       Type="TextField">

在较短的时间内解析哪种类型的XML?

2 个答案:

答案 0 :(得分:5)

虽然属性会占用更少的空间,这对性能有利,而SAX解析会为基于属性的设计生成更少的事件,这可以节省一点时间, 任何在绝大多数情况下,属性与元素性能差异根本不重要。

与大多数先验性能担忧一样,如果您的基本设计合理,最好进行构建,测量和调整。 基本设计的健全性不会受元素与属性的驱动。

您应该尝试为您的XML使用行业标准架构,并遵循他们对元素与属性的相关操作。如果您是从头开始自己设计,请参阅 XML Element vs XML Attribute 以及那里的其他兄弟答案。

答案 1 :(得分:-3)

您应该使用元素,因为它的数据,请参阅:
- XML best practices: attributes vs additional elements
- http://www.w3schools.com/dtd/dtd_el_vs_attr.asp

元素和属性在XML中都很常见,因此期望解析器经过优化以便很好地处理。我猜元素的速度要快一点,但我只看了jQuery Sizzle的结果:
jQuery select by class VS select by attribute