PHP DOM 与 SimpleXML 的 Atom GData feed 解析

标签 php simplexml gdata google-analytics-api

我正在构建一个库来访问 Google Analytics 数据导出 API。该库访问的所有数据都是 Atom 格式,并始终使用许多不同的命名空间。到目前为止,我对 API 的实验一直使用 SimpleXML 进行解析,特别是因为我所做的只是访问提要中保存的数据。

现在我要编写一个库,我想知道使用 SimpleXML 是否足够,或者 PHP 中 DOM 模块的增强功能是否会在未来受益。我还没有为库的这一部分编写太多代码,所以选择仍然是开放的。

我读到,如果您需要动态构建 XML DOM 或修改现有的 DOM,PHP DOM 模块可能是更好的选择,但由于本质原因,我并不完全确定我是否需要该功能API(例如,不将数据推送到服务器)。 SimpleXML 当然更容易使用,我见过有人说,对于只读情况,它就是您所需要的。

本质上问题是,你会使用什么?兼容性不会成为问题,因为服务器配置将满足应用程序的要求。构建库时考虑 PHP DOM 是否值得,还是我现在应该坚持使用 SimpleXML?

更新:以下是我将要处理的提要类型的两个示例:

  1. Account feed
  2. Data feed

最佳答案

我的看法:

SimpleXML 优点:

  • 简单
  • 半直观的非冗长代码
  • 非常适合阅读/解析文档

SimpleXML 缺点:

  • 对于生成 XML 来说非常糟糕。
  • 缺乏灵活性和力量

DOM 专家:

  • 非常强大
  • 非常适合生成文档
  • 如果您完成过任何其他 DOM 脚本编写(例如:在 Javascript 中),将会很熟悉

DOM 缺点:

  • 详细
  • 有时不必要地复杂。

我个人会一直坚持使用 DOM。它会带您去任何您需要去的地方。文档已经足够了,尽管您的手可能会因打字而酸痛,但您永远不会沮丧地思考“为什么它不能这样做这个?”

如果您需要做的只是阅读文档或进行一些非常基本的编辑,那么可能会选择 SimpleXML。然而对我来说,我已经习惯了 DOM 库,所以我随处使用它,这很棒。

关于PHP DOM 与 SimpleXML 的 Atom GData feed 解析,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2897515/

相关文章:

PHP-如何从字符串内容分配类变量和值?

php - 如何让 PHP 显示它从浏览器收到的 header ?

php - HTML/CSS/PHP 在特定页面上显示选定的元素

php - 基于2个子元素选择元素

带有标题和 XML 内容的 PHP 发布

python - 无法通过 Python API 更改我的 Picasa 网络相册相册的日期

php - Symfony 2/存储库 : Error: __clone method called on non-object

PHP SimpleXML 换行

PHP XML 库不返回 XPath 结果

iphone - 集成Google API目标库客户端库时的链接器错误