Visualizzazione risultati 1 fino 6 di 6

Discussione: SimpleXML o XPath?

  1. #1
    tryhere non è connesso AlterVistiano
    Data registrazione
    19-09-2007
    Messaggi
    757

    Predefinito SimpleXML o XPath?

    Codice:
    <?xml version="1.0"?>
    <staff>
    <user>
    <id>A</id>
    <rank>Utente</rank>
    </user>
    <user>
    <id>B</id>
    <rank>Utente</rank>
    </user>
    <user>
    <id>C</id>
    <rank>Moderatore</rank>
    </user>
    </staff>
    Vorrei promuovere un qualunque Utente a Moderatore.
    Mi conviene usare SimpleXML o XPath?
    Mi fate una bozza di esempio di codice?

  2. #2
    Guest

    Predefinito

    Per promuovere un utente a moderatore basta questo codice
    Codice PHP:
    <?php
    $xml
    = simplexml_load_file("file.xml");

    foreach(
    $xml->user as $item)
    if(
    $item->id == "A")
    $item->rank = "Moderatore";

    echo
    $xml->asXML(); //guarda i sorgenti della pagina e vedi la modifica effettuata.

    ?>
    Questo te lo modifica, però il file non viene salvato, quindi devi salvarlo in questo modo
    Codice PHP:
    $f = fopen("file.xml", "w");
    fwrite($f, $xml->asXML());
    fclose($f);

  3. #3
    tryhere non è connesso AlterVistiano
    Data registrazione
    19-09-2007
    Messaggi
    757

    Predefinito

    Ma è meglio utilizzare SimpleXML o XPath?

  4. #4
    Guest

    Predefinito

    Ma la domanda non ha senso, XPath è una funzione che si accoppia con SimpleXML
    Codice PHP:
    <?php
    $xml
    = simplexml_load_file("file.xml");

    $arr = $xml->xpath("/staff/user");

    foreach(
    $arr as $item)
    if(
    $item->id == "A")
    $item->rank = "Moderatore";

    echo
    $xml->asXML();

    ?>

  5. #5
    tryhere non è connesso AlterVistiano
    Data registrazione
    19-09-2007
    Messaggi
    757

    Predefinito

    Intendevo, quale delle due soluzioni postate è più efficiente, quella con XPath o quella senza?

  6. #6
    Guest

    Predefinito

    Quella che ti fa più comodo, sono indifferenti

Regole di scrittura

  • Non puoi creare nuove discussioni
  • Non puoi rispondere ai messaggi
  • Non puoi inserire allegati.
  • Non puoi modificare i tuoi messaggi
  •