Простая программа для узлов и узлов CRUD файла xml

Я решил сохранить настройку в xml-файле, так как поле принимает только одно значение.

Мой XML-файл похож на

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

Может ли кто-нибудь предложить мне простой скрипт php для чтения, редактирования, добавления и удаления значений узлов и узлов?

Если ваш XML действительно так прост, вы можете использовать SimpleXML для CRUD. SimpleXml проанализирует XML в древовидной структуре SimpleXmlElements. Вкратце, вы используете его следующим образом:

 // 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'); с // 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'); 

Пожалуйста, обратитесь к руководству PHP для дальнейшего использования примеров и описания API .

Если вы действительно используете пары ключ / значение, вы также можете использовать простой старый массив PHP для хранения их или хранилище ключей / значений, например, DBA или даже APC и memcached с длинным ttl.

Вы можете использовать расширение PHP XQuery для выполнения задания:

 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 } 

Вы можете попробовать пример выше в прямом эфире по адресу http://www.zorba-xquery.com/html/demo#BJ2a2bNxJc8JVZAl0qyjAelwN9s=

Инструкции по установке расширения XQuery PHP доступны по адресу http://www.zorba-xquery.com/html/entry/2011/12/27/PHP_Meets_XQuery.