PHP XML addChild()不起作用

时间:2016-02-05 00:22:19

标签: php xml simplexml

我正在研究项目,它的一个功能是将数据添加到稍后将提取的XML文件中,提取部分运行良好但不是添加部分。 我创建了一个新的php文件,其中包含XML添加部分的代码,但仍无效。 这是php文件:

<?
$xml = simplexml_load_file('test.xml');
$msg = $xml->addChild('msg');
$msg->addChild('name', 'newName');
$msg->addChild('text', 'myText');
?>

以下是test.xml文件:

<?xml version="1.0" encoding="UTF-8"?>
<msgs>

</msgs>

页面显示没有php错误,xml仍然相同。 我一直在寻找解决方案几个小时但找不到。请帮忙!

2 个答案:

答案 0 :(得分:1)

simplexml_load_file()返回一个要添加元素的SimpleXMLElement,现在需要将该实例序列化回文件:

$msg->asXML('output.xml');

或者,如果您只想将XML捕获为字符串:

$xmlString = $msg->asXML();

答案 1 :(得分:1)

问题是它做了它应该做但不保存的事情,将这个$xml->asXML('test.xml');添加到php的末尾将使它保存在XML文件中。通过阅读asXML doc的文件名部分找到它。这里asXML()