返されたSimpleXMLオブジェクトを反復処理する方法を試しています。SimpleXMLオブジェクトをループするか、全体を配列に変換する
私はAmazon Web Services(SimpleDB、S3、EC2など)に接続するTarzan AWSというツールキットを使用しています。私は特にSimpleDBを使っています。
Amazon SimpleDBサービスにデータを入れることができます。私はそれを元に戻すことができます。返されるSimpleXMLオブジェクトをどのように処理するのか分かりません。レスポンスのヘッダとボディをナビゲートする応答で
ルック:
ターザンAWSのドキュメントこれは述べています。これは配列ではなくオブジェクトであり、本体はSimpleXMLオブジェクトであることに注意してください。
ここで返されたSimpleXMLオブジェクトのサンプルです:
[body] => SimpleXMLElement Object ( [QueryWithAttributesResult] => SimpleXMLElement Object ( [Item] => Array ( [0] => SimpleXMLElement Object ( [Name] => message12413344443260 [Attribute] => Array ( [0] => SimpleXMLElement Object ( [Name] => active [Value] => 1 ) [1] => SimpleXMLElement Object ( [Name] => user [Value] => john ) [2] => SimpleXMLElement Object ( [Name] => message [Value] => This is a message. ) [3] => SimpleXMLElement Object ( [Name] => time [Value] => 1241334444 ) [4] => SimpleXMLElement Object ( [Name] => id [Value] => 12413344443260 ) [5] => SimpleXMLElement Object ( [Name] => ip [Value] => 10.10.10.1 ) ) ) [1] => SimpleXMLElement Object ( [Name] => message12413346907303 [Attribute] => Array ( [0] => SimpleXMLElement Object ( [Name] => active [Value] => 1 ) [1] => SimpleXMLElement Object ( [Name] => user [Value] => fred ) [2] => SimpleXMLElement Object ( [Name] => message [Value] => This is another message ) [3] => SimpleXMLElement Object ( [Name] => time [Value] => 1241334690 ) [4] => SimpleXMLElement Object ( [Name] => id [Value] => 12413346907303 ) [5] => SimpleXMLElement Object ( [Name] => ip [Value] => 10.10.10.2 ) ) ) )
だから私は、対象項目のそれぞれを介して取得するどのようなコードが必要ですか?私はそれらのそれぞれをループし、返されたmySQLクエリのように扱いたいと思います。たとえば、SimpleDBを照会してSimpleXMLをループすることで、結果をページに表示することができます。
また、シバン全体をどのように配列に変換しますか?
私はSimpleXMLを使い慣れていないので、私の質問が十分ではない場合はお詫び申し上げます。
感謝を。それはとてもうまくいっています。 しかし、簡単な質問です。最初の例を使用して、全体のロットではなく、$ Attribute-> Valueのどれかをエコーします。私はecho $ Attribute-> Name ['xx']、ループ内のループなどからあらゆる種類のものを試しました。私はやや混乱しました。それも可能ですか?または、if($ Attribute-> Value == "xx")文をifにするだけですか? –
私はあなたがやっていることへのショートカットを提供するSimpleXMLについて知らない(ループ中に値をテストする)。 –