我正试图通过将字符串作为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,但没有内容,尽管它确实添加了换行符。
尽管当我在simpleXML加载字符串($nodestring)上执行var_导出时,我得到:
SimpleXMLElement::__set_state(array(
'label' => 'A label',
'value' => 'A value',
))
所以我不知道我做错了什么…
编辑:
示例XML文件:
<config>
<sections>
<fields>
text
</fields>
</sections>
</config>
sampe$xml-尝试添加子节点后的文件:
<config>
<sections>
<fields>
text
<child_one>
</child_one></fields>
</sections>
</config>