我对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?
答案 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