我如何使用php dom检查,如果存在xml文件,如果没有创建它。
<?php
header("Location: index.php");
$xmldoc = new DOMDocument();
$xmldoc->load('sample.xml');
$newAct = $_POST['activity'];
$root = $xmldoc->firstChild;
$newElement = $xmldoc->createElement('activity');
$root->appendChild($newElement);
$newText = $xmldoc->createTextNode($newAct);
$newElement->appendChild($newText);
$xmldoc->save('sample.xml');
?>
现在,因为它不存在,它给了我这个错误:
DOMDocument::load(): I/O warning : failed to load external entity
答案 0 :(得分:10)
不要用dom做,请自行检查:
if(file_exists('sample.xml')){
$xmldoc->load('sample.xml');
} else {
$xmldoc->loadXML('<root/>');//or any other rootnode name which strikes your fancy.
}
保存到文件将在$xmldoc->save();
进一步自动完成。
答案 1 :(得分:2)
使用file_exists('sample.xml')
答案 2 :(得分:0)
load函数返回true和false。尝试使用此代码:
...
$res = $xmldoc->load('sample.xml');
if ($res === FALSE)
{
/// not exists
}