2011-01-03 4 views
-1

У меня есть следующий XML-файл. Мне удалось создать код, который добавляет и удаляет данные. Однако я не могу или не нашел ничего полезного в том, как редактировать существующие данные. Моя цель - позволить пользователю через форму написать существующий (скажем, имя) Бен и в другом текстовом поле желаемое имя и отправить. Я могу создать форму и проанализировать два вара. Спасибо!Редактировать данные из XML с помощью PHP

XML-

<?xml version="1.0" encoding="utf-8"?> 
<messages> 
    <message time="1248083538"> 
     <name>Ben</name> 
     <email>Ben's Email</email> 
     <msg>Bens message</msg> 
    </message> 
    <message time="1248083838"> 
     <name>John Smith</name> 
     <email>[email protected]</email> 
     <msg>Can you do this for me?</msg> 
    </message> 
</messages> 
+1

возможный дубликат [Лучший Parser XML для PHP] (http://stackoverflow.com/questions/188414/best-xml-parser-for-php) – Gordon

+0

возможно дубликат из [Редактировать данные из XML с помощью PHP] (http://stackoverflow.com/questions/4582183/edit-data-from-xml-using-php) –

ответ

3

так же просто, как это

$xml = simplexml_load_file($file); 
foreach ($xml->message as $obj) 
{ 
    $obj->name = 'new '.(string)$obj->name; 
} 
echo $xml->asXML(); /* output */ 
$xml->asXML($file); /* save into $file */ 
+0

Эй, , Спасибо за ответ. Проблема в том, что я могу найти много кодов и примеров, но я не могу использовать его с тем, что мне нужно. Редактирование сложнее, чем добавление или удаление – JBEnergy

+0

@ user560411 - действительно, никто не узнает, что вам нужно ... вы можете искать [xpath query] (http://php.net/manual/en/simplexmlelement.xpath. php) – ajreal

+0

Пользователь напишет в форме значение тега XML. Например, Бен. В другом текстовом поле формы он добавит, что он хочет, чтобы Бен был изменен, например, Адам. Затем система внесет изменения и сохранит файл XML. – JBEnergy

0

Используйте Google, вы можете включить XML-файл в объект и делать все, что вы хотите с ним. link text

0

Похожее: Add, update and edit an XML file with PHP. Похоже, ответ есть.

+0

должен был быть комментарием, поскольку он только дает возможный дубликат – Gordon

+0

А, Я не знаю, как это сделать или, по крайней мере, у меня нет разрешения на это. – Norm

+0

Правда, [вам нужно 50 репутации, чтобы комментировать] (http://stackoverflow.com/privileges/comment) и [3000, чтобы сделать закрытие] (http://stackoverflow.com/privileges/close-questions) – Gordon

Смежные вопросы