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

    leggere file xml dove i tag sono del tipo <stringa:altra_stringa>

    Ciao a tutti, mi sono incagliata in un problema molto antipatico: devo leggere un file xml, nello specifico questo
    http://boole.diiga.univpm.it:6080/ax...tacostWSDL.xml

    come potete vedere i tag sono tutti del tipo <tnsarameters>...<wsdl:message> e non mi riesce di leggerli con simplexml. Infatti, facendo
    codice:
    $xml=simplexml_load_file("$wsdl");
    $par=$xml->parameters;
    echo $par->length;
    non mi sputa fuori nulla, stessa cosa se metto al posto di parameters tnsarameters. Cosa posso fare? ho provato anche a usare le funzioni della libreria dom:
    codice:
    $doc= new DomDocument();
     $xml = $doc->load("$wsdl"); 
    $par=$doc->getElementsByTagName('parameters'); 
     echo $par->length;
    e la cosa strana è che così fa! Ma poi io dovrei navigare dentro il tag parameters e prendere per es gli attributi name dei figli e non so come e si può fare con dom. Potete aiutarmi?
    Grazie

  2. #2
    Utente di HTML.it
    Registrato dal
    Jan 2005
    Messaggi
    579
    Codice PHP:

    <?

    // carichiamo la libreria

    $leggimi simplexml_load_file("tuo_xml.xml");

    // leggiamo cosa contiene news

    $news $leggimi->wsdl:definitions;

    // apriamo un for per leggere tutti i nodi

    foreach($news as $xmldati){

    // stampiamo a video i nostri dati

    $var $xmldati->tns:KDD_tool_basedir."
    "
    ;

    echo 
    $var;

    }

    ?>
    prova così , cmq ti consiglio pure di leggere questo

    http://www.ebug.it/?p=151

    ciao
    l'uomo è tutto ciò che non può essere

    http://www.ebug.it Discussioni da web Designer

    http://www.ebug.it/?p=354 e Dart Fener dove lo mettiamo lol

  3. #3
    ciao ti ringrazio della risposta ma purtroppo la pagina mi restituisce l'errore
    Parse error: syntax error, unexpected ':' in C:\xampp\htdocs\tirocinio\web_services.php on line 58

    la linea in questione è
    $news = $leggimi->wsdl:definitions;

    quindi i due punti lo fanno crashare...dici che posso in qualche modo fare un escape? o qualche altra soluzione? Grazie

  4. #4
    Utente di HTML.it
    Registrato dal
    Jan 2005
    Messaggi
    579
    non puoi fare che estrai il contenuto , sostituisci i : con i _ e poi leggi il file con simple xml?
    l'uomo è tutto ciò che non può essere

    http://www.ebug.it Discussioni da web Designer

    http://www.ebug.it/?p=354 e Dart Fener dove lo mettiamo lol

  5. #5
    probabilmente non so usare simple_xml perchè continua a non funzionare in nessuna salsa. La cosa assurda è che,utilizzando i metodi della più vecchia dom funziona: questo codice:
    codice:
    $wsdl=$_REQUEST['wsdl']; 
    $doc= new DomDocument(); 
    $xml = $doc->load("$wsdl");
     $par=$doc->getElementsByTagName('par_simple'); 
    echo 'lunghezza '.$par->length;
     foreach($par as $p){ $input=$p->childNodes; 
    foreach($input as $nodo)
    { $nome=$nodo->nodeName; 
    if($nome=='par_name'){ echo 'ho trovato il nome '; echo $nome;} echo 
    "; "; }}
    funziona e stampa quello che deve stampare, mentre
    codice:
    $leggimi = simplexml_load_file("$wsdl"); 
     echo 'ok'; 
    $par=$leggimi->par_simple;
    echo $par->length;
    continua a stamparmi zero come lunghezza di $par. Lo so che è strano, ma non so che farci, penso di continuare a utilizzare dom xml a meno che qualcuno non sappia illuminarmi :P Ad ogni modo grazie delle risposte

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.