Newsgroup: it.comp.www.php
Titolo: xml_parse_into_struct nun ce cap na mazza

:) forse sono stanco anzi probabile potete darmi na mano a far fuznionare 
sto code
 function convertXmlOrdineToString() {
 $data = $this->data;
 $out = "";
 $p = xml_parser_create();
    //xml_parser_set_option($p, XML_OPTION_CASE_FOLDING, 0);
    //xml_parser_set_option($p, XML_OPTION_SKIP_WHITE, 1);
 xml_parse_into_struct($p,$data, $values, $indexs);
 xml_parser_free($p);
   foreach ($indexs as $key=>$val) {
    if ($key == "articoli") {
           $molranges = $val;
     }
    }
 return $out;
 }
un pò preso dal manuale ma non va il file xml è così
<?xml version="1.0" encoding="iso-8859-1" ?>
     <articoli id_articolo="1"
         nome="articolo1"
         des="fdsfds"
         prezzoVendor="20,00"
         taglia="prima"
         colore="verde"
         importo="20"
         quantita="1"
     >
     </articoli>
devo prendere quei dati e visualizzarli come stringa
tipo if attributo == des diventa descrzione : e descrizione
grazie ciao :-)

 ha scritto nel messaggio 
news:vA1ne.966197$b5.42...@news3.tin.it...

non riesco a capire come usare bene questa funciton


ho migliorato le cose solo che ora "loopa" su un solo nodo
non capisco perchè
 function convertXmlOrdineToString() {
 $data = $this->data;  //stringa xml (documento xml ben formattato)
 $out = "";
 $p = xml_parser_create();
    xml_parser_set_option($p, XML_OPTION_CASE_FOLDING, 0);
    xml_parser_set_option($p, XML_OPTION_SKIP_WHITE, 1);
 xml_parse_into_struct($p,$data, $indexs);
 xml_parser_free($p);
   foreach ($indexs as $key) {
    //echo $key['tag'];
    //print_r($key);
    if ($key['tag'] == "articoli")
     {
      $att = $key['attributes'];
     echo $att['id_articolo'];
     echo ",";
     echo $att['importo'];
     echo "<br>";
     }
   }
 return $out;
 }
e nel file xml di tag <articoli></articoli> ne sono presenti due, ma io ne 
vedo solo uno....


Per motivi di completezza chiudo questo tread digendo che ho risolto ed il 
problema non era nel codice ma nel file xml ecco
cmq il codice php - xml
[codice php]
 function convertXmlOrdineToString() {
 $data = $this->data;
 $out = "";
 $p = xml_parser_create();
    xml_parser_set_option($p, XML_OPTION_CASE_FOLDING, 0);
    xml_parser_set_option($p, XML_OPTION_SKIP_WHITE, 1);
 xml_parse_into_struct($p,$this->data, $indexs);
 xml_parser_free($p);
   foreach ($indexs as $key) {
    if ($key['tag'] == "articoli")
     {
     $att = $key['attributes'];
     $out.="Id Articolo:".$att['id_articolo'];
     $out.="\n";
     $out.="Nome Articolo:".$att['nome'];
     $out.="\n------\n";
     $out.="Importo:?".$att['importo'];
      $out.="\n";
     }
   }
 return $out;
 }
[codice php]
[file xml]
<?xml version="1.0"?>
 <elenco>
     <articoli id_articolo="2"
         nome="articolo2"
         des="DSADDadADAdsa"
         prezzoVendor="16,00"
         taglia=""
         colore=""
         importo="16"
         quantita="1"
     >
     </articoli>
     <articoli id_articolo="3"
         nome="articolo2"
         des=""
         prezzoVendor="100,00"
         taglia=""
         colore=""
         importo="100"
         quantita="1"
     >
     </articoli>
</elenco>
[/file xml]