0

From "parsing speed" point of view, how much influence(if any) has number of attributes and depth of XML document on parsing speed? Is it better to use more elements or as many attributes as possible? Is "deep" XML structure hard to read?

I am aware that if I would use more attributes, XML would be not so heavy and that adapting XML to parser is not right way to create XML file

thanks

4

3 回答 3

2

性能是实现的属性。不同的解析器是不同的。不要试图获得有关性能的理论答案,只需测量它。

使用更多元素或尽可能多的属性更好吗?

这与解析性能有什么关系?我发现很难相信性能上的任何差异都会证明扭曲您的 XML 设计是合理的。相反,使用扭曲的 XML 设计并相信它会提高解析速度几乎肯定最终会在生成和使用 XML 的应用程序中给您带来大量额外成本。

于 2013-06-26T08:35:21.933 回答
2

我认为,这取决于您是否进行验证。如果您要针对大型且复杂的模式进行验证,那么与简单模式相比,验证所花费的时间可能会相应地更多。

对于非验证解析器,模式的复杂性可能并不重要。性能将取决于 XML 的大小。

当然,性能还取决于您使用的解析器类型。DOM 解析器通常会比较慢,因为您必须在开始之前构建完整的内存表示。使用 SAX 解析器,您可以只挑选您需要的部分。


但是请注意,我的回答是基于直觉的。我不知道有人试图以科学的方式衡量XML 复杂性对性能的影响。首先,很难真正描述 XML 的复杂性。人们通常更感兴趣的是比较给定示例 XML 的解析器,而不是弄清楚输入复杂性是否是一个因素。

于 2013-06-26T04:28:25.160 回答
0

如果您使用的是 Sax 解析器,那么 XML 是否很大并不重要,因为它是一个自上而下的解析器,不会将完整的 XML 保存在内存中,但对于 DOM,它很重要,因为它将完整的 XML 保存在内存中。您可以在我的博文中了解有关比较 XML 解析器的一些想法

于 2013-06-26T04:24:48.080 回答