更新XML文件时出现PHP SimpleXML错误
这就是我的问题!我在我的网站中使用implexml作为MySQL的替代品,因为我使用的是移动设备,它可以很好地处理addChild请求,但当它提交时,它要么覆盖原始的XML文件,要么用代码XML文件解释它:
<?xml version="1.0"?>
<video><title>title 22</title></video>
PHP文件:
<?php
$file = 'database.xml';
$title = $_POST['1'];
$xml = simplexml_load_file($file);
$xmlne = $xml->videos;
$d = "<video></video>";
$newvid = new SimpleXMLElement($d);
$newvid->addChild('title' , $title);
$newvid->asXML($file);
?>
<form action="index.php" method="post">
<input type="text" value="title" name="1">
<input type="submit" value="post"/>
</form>
解决方案
您遇到的问题是,该行创建了一个完全独立于原始文件的新xml文档:
$newvid = new SimpleXMLElement($d);
然后将元素添加到新文档,并保存为原始文件名,从而丢失原始文件。
您实际要做的是向您加载为$xml
的现有文档添加一个新的Video元素,然后遍历以查找$xmlne
:
$newvid = $xmlne->addChild('video');
相关文章