Visualizzazione dei risultati da 1 a 8 su 8

Discussione: XML e DOM

  1. #1
    Utente di HTML.it L'avatar di Gab-81
    Registrato dal
    Nov 2005
    Messaggi
    558

    XML e DOM

    Rieccomi con un altro problema...allora, io ho un documento XML del tipo

    Codice PHP:
    <?xml version="1.0" encoding="UTF-8"?>
    <root>
    <image>
        <filename>image_1.jpg</filename>
        <caption>Descrizione 1</caption>    
    </image>
    <image>
        <filename>image_2.jpg</filename>
        <caption>Descrizione 2</caption>    
    </image>
    </root>
    Quello che non riesco a capire come posso fare è eliminare un intero nodo (nel mio caso <image>) individuandolo con il nome dell'immagine; esempio: mettiamo che io voglia cancellare il nodo contenente l'immagine image_1.jpg, quello che devo cancellare è

    Codice PHP:
    <image>
        <
    filename>image_1.jpg</filename>
        <
    caption>Descrizione 1</caption>    
    </
    image
    e non solo

    Codice PHP:
    <filename>image_1.jpg</filename
    Qualcuno ha idea di come posso fare? Grazie mille a tutti


    PS Spero di essere stato chiato

  2. #2
    Prova questo
    Codice PHP:
    <?php 
    $doc 
    = new DOMDocument();
    $doc->load('images.xml');
    $xpath = new DOMXPath($doc);
    $root $doc->documentElement;
    $query "/root/image[filename/text()='image_1.jpg']";
    $image $xpath->query($query);
    $oldImage $root->removeChild($image->item(0));
    echo 
    $doc->saveXML();
    ?>
    Without faith, nothing is possible. With it, nothing is impossible
    http://ilwebdifabio.it

  3. #3
    Utente di HTML.it L'avatar di Gab-81
    Registrato dal
    Nov 2005
    Messaggi
    558
    Grazie mille!!! Mi hai tolto proprio da un bel casino!!! Ad XPath proprio non avevo pensato. Lo provo subito...

  4. #4
    Ho anche io lo stesso problema...

    Ho provato con quel codice ma non funziona...

    Suggerimenti??

  5. #5
    nessuno?

    scusate se insisto ma è urgente... devo consegnare il progetto a breve...

  6. #6
    Originariamente inviato da imperatore666
    Ho anche io lo stesso problema...

    Ho provato con quel codice ma non funziona...

    Suggerimenti??
    In che senso non funziona !


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

  7. #7
    Warning: DOMNode::removeChild() expects parameter 1 to be DOMNode

    ecco cosa mi esce...

  8. #8
    ho risolto in un altro modo...

    praticamente faccio creare a php un xsl che mi indica la posizione dell'elemento nel file XML e poi ho creato un form in cui inserisco il numero dell'elemento da eliminare che poi viene passato al codice che elimina l'elemento:

    Codice PHP:
    $film $root->getElementsByTagName('film')->item($a); 

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.