• User Attivo

    Ricerca prodotti xml +xpath

    Ciao dovrei recuperare da un file xml un elenco dei prodotti corrispondenti ai dati inseriti in un semplice form html, l'utente sceglie la temperatura massima e la temperatura minima del prodotto e tramite una ricerca con xpath su un file xml produca in una pagina html le informazioni desiderate, ho solo un dubbio sulla costruzione della querry in xpath per recuperare le informazioni.

    catalogo.xml

    
    <?xml  version="1.0" encoding="UTF-8" ?>
    <catalogo_prodotti>
      <prodotto>
    contiene i tag con il nome del prodotto la descrizione e la temperatura massima e quella minima (che sono i dati attraverso i quali devo recuperare i prodotti)
    </prodotto>
    </catalogo_prodotti> 
    
    

    Dovrei usare la ciocciolo davanti ai nodi che voglio selezionare e quindi la query in xpath sarebbe simile a :

    
    //@tmax | //@tmin
    
    

    è corretto, avete altre soluzioni senza usare xpath magari usando php?


  • User Attivo

    Ho risolto usando xpath assieme a php

    
    $tmin=$_POST['Minima'];
    $tmax=$_POST['Massima'];
    $dom = new DomDocument();
    $dom->load("prodotti.xml");
    $xpath = new DomXPath($dom); 
    $arts = $xpath->query("/catalogo_prodotti/prodotto[@tmax='".$tmax."'][@tmin='".$tmin."']");
     echo 'I prodotti trovati sono:' ."\n" ;
     foreach ($arts as $art)
    {
       echo $art->nodeValue."";
    }
    
    
    

    Ora sampa correttamente i prodotti con i valori di temperatura nel range di esercizio del prodotto ma nel caso i dati inseriti non rispecchino nessun prodotto il campo è vuoto io vorrei fare in modo di visualizzare un messaggio di attenzione indicando che ness'un prodotto ha tali caratteristiche, ma qua mi sono bloccato... :bho: