Visualizzazione dei risultati da 1 a 5 su 5

Discussione: [php5] DOM e XPATH

  1. #1

    [php5] DOM e XPATH

    Ciao

    utilizzando queste funzioni

    http://it.php.net/manual/it/function...path-query.php

    eseguo una query XPATH su un documeno XML e ottengo come risultato una NodeList.

    Quello che vorrei fare, è andare a sostituire l'elemento originale nel documento XML con il risultato ottenuto.

    Mi spiego meglio, ho un documento con i seguenti elementi

    codice:
    - collezione
     - cd
      - prezzo 10
     - cd
      - prezzo 12
     - cd
      - prezzo 15
    io faccio una query del tipo: //collezione/cd[./prezzo > "10"]

    che mi restituisce una nodelist contenente i seguenti elementi:

    codice:
     - cd
      - prezzo 12
     - cd
      - prezzo 15
    come faccio a sostituire questi due elementi ai 3 iniziali? è possibile?
    "durante i primi 5 miuti di pioggia nel bosco c'è ancora asciutto, poi quando smetterà di piovere nel bosco cadranno gocce per 5 minuti.....la natura ha un'ottima memoria..."

    http://www.kumbe.it

  2. #2
    ooooopete
    "durante i primi 5 miuti di pioggia nel bosco c'è ancora asciutto, poi quando smetterà di piovere nel bosco cadranno gocce per 5 minuti.....la natura ha un'ottima memoria..."

    http://www.kumbe.it

  3. #3
    nessuna idea?
    "durante i primi 5 miuti di pioggia nel bosco c'è ancora asciutto, poi quando smetterà di piovere nel bosco cadranno gocce per 5 minuti.....la natura ha un'ottima memoria..."

    http://www.kumbe.it

  4. #4
    Codice PHP:
    /*
     * ottengo una nodelist di cd dall'XML'
     * */
    $records=$xml->getElementsByTagName("cd");

    //query xpath
    $query '....';

    $entries $xpath->query($query);

    /*
     * svuoto la nodelist
     * */
     
    while($records->length>0){
         
    $xml->removeChild($records->item(0));
     }

    /*
     * inserisco solo gli elementi trovati dalla query
     * */
    for($i=0;$i<$entries->length;$i++){
    $xml->appendChild($entries->item($i));
    }

       
    /*
        * stampo gli elementi
        * */          
    for($i=0;$i<$records->length;$i++){
        echo 
    $records->item($i)->nodeValue."
    "
    ;


    nel caso venga utile ad altri....
    "durante i primi 5 miuti di pioggia nel bosco c'è ancora asciutto, poi quando smetterà di piovere nel bosco cadranno gocce per 5 minuti.....la natura ha un'ottima memoria..."

    http://www.kumbe.it

  5. #5
    Ciao.
    Dai un occhio qui
    e precisamente al file class.XML.php
    al metodo update della classe XmlParser.

    Without faith, nothing is possible. With it, nothing is impossible
    http://ilwebdifabio.it

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.