• User Attivo

    selezionare un child con SimpleXML

    Buongiorno a tutti, sto utilizzando per la prima volta SimpleXML, e mi trovo già in difficoltà. Intanto incollo un esempio:

    
    <materiale>
        <prezzi>
          <tipo>pubblico</tipo>
          <prezzo>3.80</prezzo
        </prezzi>
        <prezzi>
          <tipo>rivenditore</tipo>
          <prezzo>3.10</prezzo
        </prezzi>
    </materiale>
    
    

    Dunque, se dovessi selezionare solo il prezzo per il pubblico, come posso fare? grazie a tutti


  • User Attivo

    Facendo un print_R() sul risultato della funzione SimpleXML, ottieni a video la struttura dell'array.

    $xml = simplexml_load_file("file.xml") or die("Error: Cannot create object");
    print_r($xml);

    Generalmente il nodo principale lo "perdi", nel senso che sei già dentro. Quindi ti consiglio una struttura tipo:

    <data>
    <materiale>
    <prezzi>
    <tipo>pubblico</tipo>
    <prezzo>3.80</prezzo>
    </prezzi>
    <prezzi>
    <tipo>rivenditore</tipo>
    <prezzo>3.10</prezzo>
    </prezzi>
    </materiale>

    </data>

    Così puoi inserire altri materiali tranquillamente.

    Con $xml->materiale[0]->prezzi[0]->tipo ottieni "pubblico"
    Con $xml->materiale[0]->prezzi[0]->prezzo ottieni "3.80"
    Con $xml->materiale[0]->prezzi[1]->tipo ottieni "rivenditore"
    Con $xml->materiale[0]->prezzi[1]->prezzo ottieni "3.10"