Я пытаюсь добавить дочерний элемент в XML-узел, загружая строку как xml-узел, но по какой-то причине он возвращает пустое значение ...
// Load xml
$path = 'path/to/file.xml';
$xml = simplexml_load_file($path);
// Select node
$fields = $xml->sections->fields;
// Create new child node
$nodestring = '<option>
<label>A label</label>
<value>A value</value>
</option>';
// Add field
$fields->addChild('child_one', simplexml_load_string($nodestring));
По какой-то причине child_one добавляется, но без содержимого, хотя он вставляет разрывы строк.
Хотя, когда я делаю var_export для simplexml_load_string ($ nodestring), я получаю:
SimpleXMLElement::__set_state(array(
'label' => 'A label',
'value' => 'A value',
))
Так что я не уверен, что делаю не так ...
EDIT:
Пример xml-файла:
<config>
<sections>
<fields>
text
</fields>
</sections>
</config>
Файл Sampe $ xml после попытки добавить дочерний узел:
<config>
<sections>
<fields>
text
<child_one>
</child_one></fields>
</sections>
</config>