I have a XML file which looks like this:
<?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>
我一直在尝试如何将另一个< gallery >附加到我的上面的xml文件中。我尝试使用simplexml,但无法使其正常工作,因此我尝试了这个答案以及stackoverflow上的其他一堆。但仍无法使其正常工作。
我可以轻松地从xml文件中读取并获取所有所需信息,但我需要能够附加一个gallery标签。下面的代码不起作用,当它起作用时,我只能插入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文件中插入另一个带有子元素的< gallery >标签? 最好使用simpleXML。