Sto cercando di capire come iterare attraverso un oggetto SimpleXML restituito.Ciclo attraverso un oggetto SimpleXML o trasformazione dell'intero elemento in una matrice
Utilizzo un kit di strumenti denominato Tarzan AWS, che si collega a Amazon Web Services (SimpleDB, S3, EC2, ecc.). Sto specificatamente usando SimpleDB.
Posso inserire dati nel servizio Amazon SimpleDB e posso recuperarlo. Non so come gestire l'oggetto SimpleXML che viene restituito.
La documentazione Tarzan AWS dice questo:
Guardate la risposta per navigare attraverso le intestazioni e il corpo della risposta. Si noti che questo è un oggetto, non un array, e che il corpo è un oggetto SimpleXML.
Ecco un esempio dell'oggetto SimpleXML restituito:
[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 ) ) ) )
Così che il codice ho bisogno di ottenere attraverso ciascuna delle voci oggetto? Mi piacerebbe passare in rassegna ciascuno di essi e gestirlo come una query mySQL restituita. Ad esempio, posso interrogare SimpleDB e quindi eseguire il ciclo su SimpleXML in modo da poter visualizzare i risultati sulla pagina.
In alternativa, come si trasforma tutto lo shebang in un array?
Sono nuovo di SimpleXML, quindi mi scuso se le mie domande non sono abbastanza specifiche.
Grazie molto per questo. Funziona molto bene. Una domanda semplice però. Usando il primo esempio, come faccio a echo solo uno dei $ Attribute-> Value, piuttosto che l'intero lotto. Ho provato tutti i tipi di cose da echo $ Attribute-> Name ['xx'], loop in loop, ecc. Mi sono un po 'confuso. È possibile? O devo solo se le dichiarazioni ($ Attribute-> Value == "xx")? –
Non so di SimpleXML che fornisce un collegamento a ciò che stai facendo (testare il valore durante il ciclo). –