如何使用php附加xml文件?

时间:2014-04-15 14:54:03

标签: php xml

我有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。 这样做有什么好的做法吗?

1 个答案:

答案 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()
}