Как добавить в файл XML с помощью PHP, предпочтительно с помощью SimpleXML

У меня есть XML-файл, который выглядит так:



    
    

    
         // We have loads of these 
         
             Name_Here
             filepath/file.txt
             filepath/thumb.png
         
    

Я пытался придумать, как добавить еще одну в мой вышеупомянутый 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);

У меня было множество неудачных попыток, это должно быть так просто. В основном я хочу добавить галерею с именем ребенка, путь к файлу и большой палец в этот же файл (xml / config.php).

Как я уже сказал, я вроде как заставил его работать, но он не отформатирован и не имеет тега галереи.

Вопрос
Как мне вставить еще одну галерею (с дочерними элементами) в указанный выше XML-файл?
Предпочтительно даже с использованием simpleXML

7
задан Community 23 May 2017 в 10:32
поделиться