PHP Обновление Simple Xml File

Я немного обыскал, и ответ, похоже, заключается в использовании объекта DOM, но после долгих попыток я не могу заставить работать ни один из примеров и не могу понять, что я делаю неправильно. Может быть, я просто использую неправильный метод.

XML действительно просто ..

<?xml version="1.0" encoding="utf-8"?>
<courseinfo>
<info>Under inspection (decision 13:15)</info>
<buggies>Yes</buggies>
<trolleys>No</trolleys>
</courseinfo>

Все, что я хочу сделать, это обновить и сохранить дочерние узлы <info>, <buggies> а также <trolleys> используя строки формы.

Каков наилучший способ приблизиться к этому?

0

Решение

Если вам нужно изменить существующий документ XML, вы можете использовать Расширение SimpleXML манипулировать им с помощью стандартного доступа к объекту PHP.

$xml = file_get_contents('foo.xml');

$sxml = simplexml_load_string($xml);

$info = 'New info';
$buggies = 'New buggies';
$trolleys = 'New trolleys';

$sxml->info = $info;
$sxml->buggies = $buggies;
$sxml->trolleys = $trolleys;

file_put_contents('foo.xml', $sxml->asXML());

Увидеть https://eval.in/942615

1

Другие решения

Наиболее подходящим способом является использование PHP-класса DomDocument.

$oDoc = new DomDocument('1.0', 'utf-8');

$oInfo = $oDoc->createElement('info', 'under inspection (decision 13:15)');
$oBuggies = $oDoc->createElement('buggies', 'Yes');
$oTrolleys = $oDoc->createElement('trolleys', 'No');

$oCourseinfo = $oDoc->createElement('courseinfo');
$oCourseinfo->appendChild($oInfo);
$oCourseinfo->appendChild($oBuggies);
$oCourseinfo->appendChild($oTrolleys);

$oDoc->appendChild($oCourseinfo);

echo $oDoc->saveXML();

Просто как пирог.

0

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector