Back to top

Visualizza post

Questa sezione ti permette di visualizzare tutti i post inviati da questo utente. N.B: puoi vedere solo i post relativi alle aree dove hai l'accesso.


Post - GAM

Pagine: [1]
1
Sviluppo / Re:Parsing XML non standard con JSimpleXML
« il: 04 Feb 2014, 15:09:30 »
Grazie simone83, sei stato gentilissimo!  ;)

2
Sviluppo / Re:Parsing XML non standard con JSimpleXML
« il: 04 Feb 2014, 14:43:35 »
ok.. ora provo ad aggiustare il codice ;-) intanto grazie!


ma visto che JSimpleXML è deprecato, cosa si fa in questi casi per usare una classe più nuova?

3
Sviluppo / Re:Parsing XML non standard con JSimpleXML
« il: 04 Feb 2014, 13:04:40 »
Ecco il codice che ho creato:


Codice: [Seleziona]
<?php



defined
('_JEXEC') or die('Restricted access');
jimport'joomla.http.factory' );
jimport'joomla.http.http' );
jimport'joomla.http.response' );
jimport'joomla.utilities.xmlelement' );
jimport'joomla.utilities.simplexml' );



class 
modHelloWorldHelper
{

    public static function 
getHello$params )
    {

        
//URL a cui mando in post la stringa 'xyz'
        
$url "http://www.miaurl.it/index.php?input=xyz";



        
//istanza dell'oggetto JHttpFactory per l'invio in post verso l'URL indicata sopra
        
$http JHttpFactory::getHttp();


        
//invio in post

        
$resp $http->post($url);


        
//leggo la response ottenuta (notare che ciò che ottengo è una stringa della stessa identica forma dell'XML che ho postato precedentemente nell'esempio)
        
$data htmlspecialchars($resp->body);


        
//istanzio un oggetto JSimpleXML necessario al parsing della stringa $data

        
$xml = new JSimpleXML();


        
//carico con l'apposito metodo della classe JSimpleXML la stringa $data (loadString ritorna un oggetto JSimpleXMLElement se tutto va bene)

        
$xml->loadString($data);


        
//stampo a video il contenuto di $xml
        
return print_r($xml);



  }
}
?>



Notare che quando stampo il risultato di $xml, l'output che ottengo è il seguente:


Codice: [Seleziona]
JSimpleXML Object ( [_parser:JSimpleXML:private] => Resource id #108 [document] => [_stack:JSimpleXML:private] => Array ( ) [_errors:protected] => Array ( ) ) 1


Ed inoltre joomla mi avvisa con un messaggio di errore, dicendomi:


Codice: [Seleziona]
XML Parsing Error at 1:1. Error 4: Not well-formed (invalid token)

4
Sviluppo / Re:Parsing XML non standard con JSimpleXML
« il: 03 Feb 2014, 19:38:51 »
ma i tag "item" ed "items" si chiudono nel codice che ho postato.. "items" racchiude tutti i vari "item"


[EDIT: ho sistemato il codice che avevo postato.. in effetti è come ti dicevo, ovvero il tag <items> racchiude tutti i vari tag <item>]

5
Sviluppo / Re:Parsing XML non standard con JSimpleXML
« il: 03 Feb 2014, 19:22:50 »
la sostituzione che intendevo io è la seguente:


sostituire il tag <data result="ok"> con <document>


sostituire il tag <items> con <node>


sostituire il tag <item> con <child>


e aggiungere all'inizio <?xml version="1.0" encoding="utf-8" standalone="yes"?>


In questo modo non dovrei rendere quello pseudo-xml un vero e proprio documento xml?

6
Sviluppo / Re:Parsing XML non standard con JSimpleXML
« il: 03 Feb 2014, 19:06:05 »
viene ritornato come risposta ad una richiesta remota purtroppo.. secondo te è possibile fare uno string replace dei tag usati in questo pseudo xml con quelli previsti dallo standard, in modo tale da rendere fattibile il parsing xml? di fatto i tag usati sono solo quelli che vedete nell'esempio di codice sopra.


forse faccio prima a crearmi un parser che analizza questo tipo di formattazione

7
Sviluppo / Parsing XML non standard con JSimpleXML
« il: 03 Feb 2014, 15:13:49 »
Salve,
stavo provando ad effettuare il parsing di una stringa xml che non segue gli standard propri dell'XML, attraverso il parserXML di joomla 2.5, cioè JSimpleXML.

Eccovi un esempio dell'xml che dovrò parsare:

Codice: [Seleziona]
<data result="ok">
<items>
<item id="1" des="xyz" idmod="12" iddesmod="prova1" ver="2" desver="prova2">
</item>
<item id="2" des="xyz" idmod="13" iddesmod="prova3" ver="3" desver="prova4">
</item>
</items>
</data>

Il problema, anche ovvio dato che non si tratta di una formattazione standard xml, è che appena eseguo il parsing di questa stringa, il parser mi risponde dicendomi:
Codice: [Seleziona]
XML Parsing Error at 1:1. Error 4: Not well-formed (invalid token)
Sapreste indicarmi un metodo alternativo per parsare questa particolare formattazione simile ad xml?

Grazie




[EDIT: piccolo errore di cut&past del codice postato.. adesso è ok]

8
Sviluppo / Re:Usare la classe JHttpFactory di joomla 2.5
« il: 02 Feb 2014, 14:42:39 »
spero possa servire a qualcuno, cmq sono riuscito ad ottenere ciò che mi serviva usando le librerie proprie di joomla per inviare/ricevere dati verso un URL di un sito esterno.


Ecco il codice:


Codice: [Seleziona]
defined('_JEXEC') or die('Restricted access');

jimport( 'joomla.http.factory' );
jimport( 'joomla.http.http' );
jimport( 'joomla.http.response' );


class modHelloWorldHelper
{
    public static function getHello( $params )
    {


        $url = "http://www.sitoditest.it/index.php?prova=xyz";


        $http = JHttpFactory::getHttp();


        //invio l'URL in post
        $resp = $http->post($url);


        //siccome il body della response era formattato con XML, ho usato questo metodo per estrarre la stringa
        return htmlspecialchars($resp->body);
    }
}




Se secondo voi si può migliorare questo codice fatemi sapere.


Grazie

9
Sviluppo / Usare la classe JHttpFactory di joomla 2.5
« il: 01 Feb 2014, 18:50:45 »
Salve,
come da titolo vorrei capire se si può usare questa classe (libraries/joomla/http/factory.php) per
poter inviare richieste HTTP ad un server esterno.


Grazie

10
Sviluppo / Re:componente joomla 2.5 per invio dati in post
« il: 28 Gen 2014, 21:42:55 »
perfetto :) hai capito benissimo!

ho trovato questo framework sul web: https://github.com/joomla/joomla-framework-http

pensi possa fare al mio caso, visto che parli di librerie curl?

Grazie

11
Sviluppo / Re:componente joomla 2.5 per invio dati in post
« il: 28 Gen 2014, 21:31:27 »
tenete conto che per iniziare devo semplicemente creare un form di acquisizione dati con una semplice input box.. l'action di questo form punterà ad una url esterna al sito joomla.. la risposta ottenuta dovrà essere elaborata come dicevo nei post sopra

12
Sviluppo / Re:componente joomla 2.5 per invio dati in post
« il: 28 Gen 2014, 21:00:56 »
scusa se non sono stato molto chiaro...

in sostanza mi servirebbe capire quali metodi di joomla usare per poter mandare in post i dati e leggere la response fornita e poterne fare il parsing xml.

vi chiedo se per caso avete degli esempi da proporre o qualche guida dove è spiegato come fare.



13
Sviluppo / componente joomla 2.5 per invio dati in post
« il: 28 Gen 2014, 19:55:31 »
Salve,
scusate la domanda, ma mi sto avvicinando da poco allo sviluppo di componenti per joomla 2.5.

Avrei la necessità di creare un piccolo componente che mi deve dare la possibilità, lato frontend, di inserire in una semplice input box una stringa e inviare poi tramite button (quindi invio in POST del dato) ad una certa URL di un sito esterno questa query..

Il componente riceverà poi la response (in formato XML) e dovrà effettuarne il parsing e ritornare le informazioni a video (per ora mi basta tramite una semplice print per capire il meccanismo)

Lato backend dovrebbe darmi solo la possibilità di farmi settare l'url a cui voglio fare elaborare i dati.

Vi ringrazio in anticipo per le risposte fornite.
Ciao

Pagine: [1]


Web Design Bolzano Kreatif