我正在构建一个库来访问 Google Analytics 数据导出 API。该库访问的所有数据都是 Atom 格式,并始终使用许多不同的命名空间。到目前为止,我对 API 的实验一直使用 SimpleXML 进行解析,特别是因为我所做的只是访问提要中保存的数据。
现在我要编写一个库,我想知道使用 SimpleXML 是否足够,或者 PHP 中 DOM 模块的增强功能是否会在未来受益。我还没有为库的这一部分编写太多代码,所以选择仍然是开放的。
我读到,如果您需要动态构建 XML DOM 或修改现有的 DOM,PHP DOM 模块可能是更好的选择,但由于本质原因,我并不完全确定我是否需要该功能API(例如,不将数据推送到服务器)。 SimpleXML 当然更容易使用,我见过有人说,对于只读情况,它就是您所需要的。
本质上问题是,你会使用什么?兼容性不会成为问题,因为服务器配置将满足应用程序的要求。构建库时考虑 PHP DOM 是否值得,还是我现在应该坚持使用 SimpleXML?
更新:以下是我将要处理的提要类型的两个示例:
最佳答案
我的看法:
SimpleXML 优点:
- 简单
- 半直观的非冗长代码
- 非常适合阅读/解析文档
SimpleXML 缺点:
- 对于生成 XML 来说非常糟糕。
- 缺乏灵活性和力量
DOM 专家:
- 非常强大
- 非常适合生成文档
- 如果您完成过任何其他 DOM 脚本编写(例如:在 Javascript 中),将会很熟悉
DOM 缺点:
- 详细
- 有时不必要地复杂。
我个人会一直坚持使用 DOM。它会带您去任何您需要去的地方。文档已经足够了,尽管您的手可能会因打字而酸痛,但您永远不会沮丧地思考“为什么它不能这样做这个?”
如果您需要做的只是阅读文档或进行一些非常基本的编辑,那么可能会选择 SimpleXML。然而对我来说,我已经习惯了 DOM 库,所以我随处使用它,这很棒。
关于PHP DOM 与 SimpleXML 的 Atom GData feed 解析,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2897515/