varios simplexmlelement simplexml_load_file recorrer nodos namespace leer imprimir con complejo archivos php xml

php - simplexmlelement - Un programa simple para nodo CRUD y valores de nodo del archivo xml



simplexml_load_file (2)

Puede usar la extensión PHP XQuery para hacer el trabajo:

let $data := <setting> <setting1>setting1 value</setting1> <setting2>setting2 value</setting2> <setting3>setting3 value</setting3> </setting> return { (: Update :) replace value of node $data/setting1/text() with "Hello World"; (: Delete :) delete node $data/setting2; (: Read :) $data }

Puede probar el ejemplo anterior en vivo en http://www.zorba-xquery.com/html/demo#BJ2a2bNxJc8JVZAl0qyjAelwN9s=

Las instrucciones sobre cómo instalar la extensión XQuery PHP están disponibles en http://www.zorba-xquery.com/html/entry/2011/12/27/PHP_Meets_XQuery

Decidí guardar la configuración en el archivo xml ya que el campo toma solo un valor.

Mi archivo XML es como

<?xml version="1.0" encoding="UTF-8"?> <setting> <setting1>setting1 value</setting1> <setting2>setting2 value</setting2> <setting3>setting3 value</setting3> .... .... .... </setting>

¿Alguien puede sugerirme un script php simple para leer, editar, agregar y eliminar valores de nodos y nodos?


Si su XML es realmente así de simple, puede usar SimpleXML para CRUD. SimpleXml analizará el XML en una estructura de árbol de SimpleXmlElements. En pocas palabras, lo usa así:

// CREATE $config = new SimpleXmlElement(''<settings/>''); $config->setting1 = ''setting1 value''; $config->saveXML(''config.xml''); // READ $config = new SimpleXmlElement(''config.xml''); echo $config->setting1; echo $config->asXml(); // UPDATE $config->setting1 = ''new value''; $config->setting2 = ''setting2 value''; echo $config->asXml(); // DELETE unset($config->setting1); $config->setting2 = NULL; echo $config->asXML(); unlink(''config.xml'');

Consulte el manual de PHP para obtener más ejemplos de uso y la descripción de la API .

En una nota al margen, si realmente solo tiene pares de clave / valor, también podría usar una matriz de PHP antigua simple para almacenarlos o un almacén de clave / valor como DBA o incluso APC y memcached con un ttl largo.