Tengo un archivo xml como este -> examples.xml
anie good
Este es mi archivo php -> index.php
formatOutput = true; $xml->preserveWhiteSpace = false; $xml->load('examples.xml'); //Get item Element $element = $xml->getElementsByTagName('person')->item(0); //Load child elements $name = $element->getElementsByTagName('name')->item(0); $comment = $element->getElementsByTagName('comment')->item(0); //Replace old elements with new $element->replaceChild($name, $name); $element->replaceChild($comment, $comment); ?> nodeValue = $_POST['namanya']; $comment->nodeValue = $_POST['commentnya']; htmlentities($xml->save('examples.xml')); } ?>
no puede funcionar si hago clic en el botón enviar, en la vista del navegador tengo 2 entradas de resultados. si hago clic en el botón enviar, quiero que el resultado sea una nueva entrada.
Su progtwig muestra primero el formulario y luego guarda los datos en segundo lugar. Entonces, cuando haces clic en el botón enviar, el progtwig muestra primero el formulario con datos previos y luego guarda datos ‘nuevos’.
Por lo tanto, el siguiente código funciona bien.
formatOutput = true; $xml->preserveWhiteSpace = false; $xml->load('examples.xml'); //Get item Element $element = $xml->getElementsByTagName('person')->item(0); //Load child elements $name = $element->getElementsByTagName('name')->item(0); $comment = $element->getElementsByTagName('comment')->item(0) ; //Replace old elements with new $element->replaceChild($name, $name); $element->replaceChild($comment, $comment); ?> nodeValue = $_POST['namanya']; $comment->nodeValue = $_POST['commentnya']; htmlentities($xml->save('examples.xml')); } ?>