我需要编写一个从任何xml源获取元素名称值(时间序列数据)对的应用程序,无论是文件,Web服务器还是任何其他服务器。应用程序将使用XML并取出感兴趣的值,它必须非常快(比如50000事件/秒或更多),XML文档大小也会很大,这些文档的频率也可能很高(对于例如2500个文件/分钟 - 超过500MB的XML数据/文件。)

我只是想看看你有经验的人认为我应该接近这个。我是一个刚刚开始的新手,虽然我可以做任何你建议我的解决方案,无论多么艰难/轻松。

非常感谢。

有帮助吗?

解决方案

如果使用SAX解析,则您的瓶颈是涉及的I / O,而不是XML字符串处理。考虑到你的500 MB号码,我会说你进行SAX解析而不是DOM解析。因此,任何具有SAX类型接口的东西都应该没问题。

其他提示

我是 Xerces 的粉丝,我想你将不得不试试看你的应用程序的最佳性能。像沃伦一样,你会想要使用SAX处理。实际上,如果您确实需要性能,则应使用专用的XML设备进行处理。

我在项目中使用 libxml2 。它支持SAX和DOM。 正如Warren Young所说,你应该使用SAX。你可以尝试给Expat。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top