我有xml.xml文件:
<employers>
<employer>
<name>John</name>
</employer>
</employers>
如何插入新雇主?
我希望文件xml.xml看起来像:
<employers>
<employer>
<name>Senna</name>
</employer>
<employer>
<name>John</name>
</employer>
</employers>
我用过这个:
$xml = simplexml_load_file("xml.xml");
$employers = new SimpleXMLElement($xml);
$employer = $xml->addChild('employer');
$employer->addAttribute('name', $c->getName());
$xml->asXML($xml);
$ c-&gt; getname()是String。 这样做有什么好的做法吗?
答案 0 :(得分:2)
使用addAttribute()添加雇主的名称,但使用addChild()。
演示:http://codepad.org/Pg0C87g6
<强>来源
$string = <<<XML
<?xml version='1.0'?>
<employers>
<employer>
<name>John</name>
</employer>
</employers>
XML;
$xml = simplexml_load_string($string);
// before
var_dump($xml);
$employer = $xml->addChild('employer');
$employer->addChild('name', 'TEST PERSON'); // $c->getName()
// after
var_dump($xml);
var_dump($xml->asXML());
对于多个元素的插入/追加,您可以遍历数组或对象($ c),如下所示:
foreach($listOfNewEmployers as $i => $name)
{
$employer = $xml->addChild('employer');
$employer->addChild('name', $name); // $c->getName()
}