Visualizzazione dei risultati da 1 a 9 su 9
  1. #1

    Accesso agli elementi <![CDATA[ ... ]]> di un file XML con SimpleXML ( o DOM ) e PHP

    Sto cercando di effettuare il parsing di alcuni rss, tra questi uno che proprio non riesco a parsare come vorrei è quello di Amazon rss.. Vorrei "semplicemente" ( anche se credo che tanto semplice non sia ) parsare il contenuto del nodo description inserito all'interno di <![CDATA[ ... ]]> Separando i valori che ne risulteranno. Spero di essere stato abbastanza chiaro, se c'è da chiarire qualcosa specificherò meglio..
    Il risultato che vorrei ottenere è ad esempio.. un'array con i vari values per ogni tag.. Prezzi, titolo, link, link immagine ecc..

    Codice PHP:
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=utf-8" /><title>Documento senza titolo</title></head><body>
    <?php$html "";$url "http://www.amazon.it/rss/bestsellers/videogames/";$xml simplexml_load_file($url);
    foreach(
    $xml->channel->item as $articolo) {            $title $articolo->title;    $link $articolo->link;    $descriptions $articolo->description;    $pubDate $articolo->pubDate;        $tests $descriptions->xpath('//child::text()[1]');    var_dump($tests);    die();            foreach($tests as $test) {                $recupero_var_esempio $test ['link'];                            }                                        $html .= "<a href='$link'><h3>$title</h3></a>";                $html .= "<br />$descriptions";                $html .= "<br />$pubDate<hr />";                $html .= "<br />$recupero_var_esempio<hr />";                    }echo $html;?></body></html>
    Sto provando su questo codice, ma non riesco a venirne a capo, qualcuno sa darmi una mano?
    Tutti i dati descriptio mi vengono restituiti così.. object(SimpleXMLElement)
    oppure in html come leggendoli tutti assieme...

  2. #2
    Nessuno sa suggerirmi un modo per leggere questi dati? Un'alternativa per poter ottenere dati su alcuni prodotti amazon ? I webservices di amazon non ho capito come si utilizzano, se bisogna pagare per utilizzarli, non è molto chiaro il discorso..

  3. #3
    Utente di HTML.it L'avatar di Leoz83
    Registrato dal
    Feb 2004
    residenza
    Brindisi
    Messaggi
    39
    codice:
    $descriptions = (string) $articolo->description;
    così dovrebbe andare

  4. #4
    Quote Originariamente inviata da Leoz83 Visualizza il messaggio
    codice:
    $descriptions = (string) $articolo->description;
    così dovrebbe andare
    In questo modo mi crea una super stringa da string(1418) caratteri.. Poi dovrei prenderla e tramite php andare a rintracciare inizio e fine tag? Qualcosa di più semplice?
    Cmq grazie meglio di nulla è sicuramente

  5. #5
    Utente di HTML.it L'avatar di Leoz83
    Registrato dal
    Feb 2004
    residenza
    Brindisi
    Messaggi
    39
    Quello è il contenuto della description e quello ti tira fuori
    A te cosa serve dalla description?

  6. #6
    Quote Originariamente inviata da Leoz83 Visualizza il messaggio
    Quello è il contenuto della description e quello ti tira fuori
    A te cosa serve dalla description?
    Mi servono vari pezzetti.. Che sto tirando fuori così..
    Codice PHP:
        preg_match_all('(<img src="(.*?).jpg)'$descriptions $result );    $test $result[1][0]; 
    IN effetti mi da quello che voglio.. ma ancora ho un problemino.. IN questo caso specifico, ovviamente mi estrae tutto quello che c'è tra <img src=" ed .jpg ma escludendo questi ultimi due.. quindi il risultato del link dell'immagine è: http://ecx.images-amazon.com/images/I/41U9bvdk5nL._SL160_ manca quindi .jpg..

    Come lo includo?
    Forse ho un'idea..

    risolto.. gli dico di prendere la prima occorrenza quindi.. è sempre quella..
    Codice PHP:
    preg_match_all('(<img src="(.*?)")'$descriptions $result );    $test $result[1][0]; 
    [/PHP]
    Ultima modifica di otto9due; 02-05-2015 a 16:56

  7. #7
    Così ottengo il link intero.. Grazie mille.. Ora mi toccherà fare lo stesso per tutti i dati che mi servono ..

    Speravo si potessero parsare i dati come un semplice nodo xml.. ma a quanto pare non si può fare, mi confermi?

  8. #8
    Utente di HTML.it L'avatar di Leoz83
    Registrato dal
    Feb 2004
    residenza
    Brindisi
    Messaggi
    39
    In questo caso no
    Tutto quello che è sotto description viene considerato un risultato unico che tocca a te dividere

  9. #9
    Quote Originariamente inviata da Leoz83 Visualizza il messaggio
    In questo caso no
    Tutto quello che è sotto description viene considerato un risultato unico che tocca a te dividere
    Grazie

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.