更新XML文件时出现PHP SimpleXML错误

2022-08-12 00:00:00 php html 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');

相关文章