2

Google Analytics Data Export API にアクセスするためのライブラリを構築しています。ライブラリがアクセスするすべてのデータは Atom 形式であり、さまざまな名前空間を使用しています。API を使った私の実験では、これまで解析に SimpleXML を使用してきました。特に、フィード内に保持されているデータにアクセスすることしかしていないためです。

今、私はライブラリを作成しようとしています.SimpleXMLで前進することが適切であるかどうか、またはPHPのDOMモジュールの強化された機能が将来的に役立つかどうか疑問に思っています. ライブラリのこの部分のコードはまだあまり書いていないので、選択肢はまだ開いています。

オンザフライで XML DOM を構築したり、既存の DOM を変更したりする必要がある場合は、PHP DOM モジュールがより良い選択になる可能性があることを読みましたが、API の性質上、とにかくその機能が必要かどうかは完全にはわかりません。 (たとえば、サーバーにデータをプッシュしない)。SimpleXML は確かに使いやすく、読み取り専用の状況では必要なすべてであると言う人を見てきました。

本質的に問題は、何を使用するかということです。サーバー構成はアプリケーションの要件に一致するため、互換性は問題になりません。PHP DOM を念頭に置いてライブラリを構築する価値はありますか、それとも今のところ SimpleXML に固執する必要がありますか?

更新:これは、私が扱うフィードの種類の 2 つの例です。

  1. アカウント フィード
  2. データフィード
4

3 に答える 3

5

私の見解:

SimpleXML の利点:

  • 単純
  • 半直感的で冗長でないコード
  • ドキュメントの読み取り/解析に最適

SimpleXML の短所:

  • XML を生成するにはひどい。
  • 柔軟性とパワーに欠ける

DOM の利点:

  • とてつもなくパワフル
  • ドキュメントの作成に最適
  • 他の DOM スクリプト (例: Javascript) を行ったことがある場合はおなじみでしょう。

DOM の短所:

  • 詳細
  • 時には不必要に複雑になります。

私は個人的にずっとDOMに固執します。それはあなたが行く必要があるどこにでもあなたを連れて行きます。ドキュメンテーションは十分すぎるほどで、タイピングで手が痛くなるかもしれませんが、「なぜこれができないの??」と考えてイライラすることはありません。

ドキュメントを読むか、非常に基本的な編集を行うだけであれば、SimpleXML を使用することになるでしょう。しかし、私はDOMライブラリに慣れているので、どこでもそれを使用していますが、それは素晴らしいことです.

于 2010-05-24T14:07:11.023 に答える
0

SimpleXML は名前空間を完全に処理できます。あなたの場合、エントリを繰り返し処理しgetNameSpaces、メソッドに引数を渡しchildrenて、特定の名前空間を持つ子を要求するだけです。

つまり、3 倍のコードを書きたい場合は DOM を使用できます。

于 2010-05-24T14:06:48.590 に答える
0

車輪を再発明する必要がある場合は、おそらく SimpleXML を使用します... または、Zend_Gdata (必要なものがそこにある場合) を使用するか、そうでない場合はZend_Feed_Atomを拡張することもできます。どちらのオプションでも、必要な作業量はおそらく半分になるはずです:)

于 2010-05-24T14:08:40.880 に答える