对于 C++ 来说,哪个是最高效的 XML 解析器?

发布于 2024-08-03 21:30:07 字数 276 浏览 4 评论 0原文

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

我只是想看看有经验的人认为我应该如何处理这个问题。我是一个刚刚开始的新手,尽管我可以做你建议我的任何解决方案,无论多么困难/简单。

非常感谢。

I need to write an application that fetches element name value (time-series data) pair from any xml source, be it file, web server, any other server. the application would consume the XML and take out values of interest, it has to be very very fast (lets say 50000 events/seconds or more) also the XML document size would be huge and frequency of these document could be high as well (for ex. 2500 files/min - more than 500MB of XML data/file).

I just want to see how you experienced people think I should approach this. I am a novice who just got started although I can do any solution you suggest me, no matter how tough/easy.

Thank you very much.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

旧时模样 2024-08-10 21:30:07

如果您使用 SAX 解析,那么您的瓶颈是所涉及的 I/O,而不是 XML 字符串处理。鉴于您的大小为 500 MB,我想说您必须进行 SAX 解析而不是 DOM 解析。因此,任何具有 SAX 类型接口的东西都应该没问题。

If you use SAX parsing, your bottleneck is the I/O involved, not the XML string processing. And given your 500 MB number, I'd say you'd have to do SAX parsing instead of DOM parsing. So, anything with a SAX type interface should be just fine.

月牙弯弯 2024-08-10 21:30:07

我是 Xerces 的粉丝,我想你必须尝试一下查看什么对您的应用程序具有最佳性能。正如 Warren 所说,您将需要使用 SAX 处理。实际上,如果您确实需要性能,您应该使用专门的 XML 设备来进行处理。

I'm a fan of Xerces, I think you are going to have to try them out to see what has the best performance for your application. Like Warren said you will want to use SAX processing. Realistically if you truly need the performance you should use a specialized XML appliance to do the processing.

情何以堪。 2024-08-10 21:30:07

我在我们的项目中使用 libxml2 。它同时支持 SAX 和 DOM。
正如 Warren Young 所说,您应该使用 SAX。你可以给外籍人士一个尝试。

I use libxml2 in our projects. It supports both SAX and DOM.
As Warren Young said, you should use SAX. You could give Expat a try.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文