从php追加或创建一个新的xml文件

时间:2014-05-07 13:34:44

标签: php xml

我有一个php文件,它是为了将数据附加到xml而创建的,但是如果文件不存在则应该创建该文件。但是当我运行php时它给了我输出,我没想到哪个是在问题的最后添加。 XML文件未创建。以下是php文件。

<?php

header('Content-Type: text/xml');

function createXML($doc) {
    $markers = $doc->createElement('markers');
    $markers  = $doc->appendChild($markers);
}
$url = '../../data/data.xml';
$lat  = "bla1";
$lng  = "bla2";
$address  = "bla3";
$doc = new DomDocument();
if (!file_exists($url)){
    createXML($doc);
}
else {
    $doc->preserveWhiteSpace = FALSE; 
    $doc->load($url);  
}
$markers = $doc->getElementsByTagName('markers')->item(0);
$marker = $doc->createElement('marker');
$marker = $markers->appendChild($marker);   
$marker->setAttribute("lat", $lat);
$marker->setAttribute("lng", $lng);
$marker->setAttribute("address", $address);
$doc->formatOutput = true;
$doc->save($url);

?>

当我运行php文件时,我得到以下输出

  

致命错误:在非对象上调用成员函数appendChild()    / home [...] / saveMarkers.php 在线 30       

你能告诉我在这里做错了什么,谢谢你

1 个答案:

答案 0 :(得分:-1)

我刚测试过您的代码很好并且做了预期的事情,如果您不想回复,则不需要使用标题 无论如何,验证您有权在目标目录中写入