1

只是想知道您当前的最佳实践或您的偏好对 XML 文件的要求是什么?

目前,我有一个系统(Java),它读取一个目录,遍历文件并将 XML 提取到对象中。每个用户都有自己的 XML 文件:

用户 0.xml --><user id="0" username="UserName1" password="whatever">

用户 1.xml --><user id="1" username="UserName2" password="whatever" />

问题是当我执行大量时,反序列化这些文件会变得很慢。(10,000 在我的笔记本电脑上大约需要 5 秒)。我正在尝试对我的系统进行未来证明,以便它可以处理数千个 XML 文档(我计划使用相同的方法来编写一个可以想象有数千个线程/回复等的论坛系统)。

将它们全部保存在一个 XML 文件中然后反序列化会更容易/更好/更安全/更快(请建议)吗?

用户.xml --><user id="0" username="UserName1" password="whatever" /><user id="1" username="UserName2" password="whatever" />

附言。请注意,我正在加密密码。

编辑:格林威治标准时间 08/12/2012 21:17 我已经使用 DOM 解析器和 stax 实现对此进行了测试。在这两种情况下,瓶颈肯定是文件系统查找。

对于 10k 个文件,stax 和 DOM 解析器的粗略时间约为 5 - 6 秒和 6 ~ 7 秒。

当我们使用单个 XML 文件时,时间会急剧下降。DOM 解析器约为 1.5 秒,stax 约为 650 毫秒。

哦,好吧......看起来我正在重写我的 UserAccount 实现!:(

4

0 回答 0