У меня есть XML-файл, который выглядит следующим образом:
<?xml version="1.0" encoding="utf-8"?>
<data>
<config>
</config>
<galleries>
// We have loads of these <gallery>
<gallery>
<name>Name_Here</name>
<filepath>filepath/file.txt</filepath>
<thumb>filepath/thumb.png</thumb>
</gallery>
</galleries>
</data>
Я пытался выяснить, как добавить еще один в мой вышеупомянутый XML-файл.Я попытался использовать simplexml, но не смог заставить его работать, поэтому я попробовал этот ответ , а также кучу других на stackoverflow.Но я просто не могу заставить его работать.
Я могу легко читать из xml-файла и получать всю необходимую информацию, но мне нужно иметь возможность добавлять тег галереи к нему, приведенный ниже код не работает, и когда это происходитЯ могу вставить только 1 элемент, и он вставляет его 3 раза, я не понимаю этого.
$data = 'xml/config.xml';
// Load document
$xml = new DOMDocument;
$xml->load( $data ); #load data into the element
$xpath = new DOMXPath($xml);
$results = $xpath->query('/data/galleries');
$gallery_node = $results->item(0);
$name_node = $xml->createElement('name');
$name_text = $xml->createTextNode('nametext');
$name_node = $name_node->appendChild($name_text);
$gallery_node->appendChild($name_node);
echo $xml->save($data);
У меня было множество неудачных попыток, это должно быть так просто.В основном я хочу добавить галерею с именем файла filepath и большим пальцем в этот же файл (xml / config.php).
Как я уже сказал, я вроде заставил его работать, но он не отформатирован и не имеет тега галереи.
Вопрос
Как мневставить другую <галерею> (с дочерними элементами) в указанный выше XML-файл?
Желательно даже с использованием simpleXML