gpt4 book ai didi

php - 通过 HTML 表单 (PHP) 编辑 XML

转载 作者:行者123 更新时间:2023-12-04 18:11:41 26 4
gpt4 key购买 nike

我正在尝试创建一个表单,让您可以编辑 xml 标记的内容。我目前有一个form.php:

<?php
$data=simplexml_load_file('welcome.xml');
$welcome=$data->item->name;
?>

<form method="post">
<textarea name="name"><?php echo $welcome ?></textarea>
<br>
<input type="submit" name="submit" value="submit">
</form>

<?php
if(isset($_POST['submit'])) {
$data=simplexml_load_file('welcome.xml');
$data->item->name=$_POST['name'];
$handle=fopen("welcome.xml","wb");
fwrite($handle,$xml->asXML());
fclose($handle);
}
?>

和welcome.xml:
<welcome>
<item>
<name>$welcome</name>
</item>
</welcome>

当我按下提交时,它不会保存输入的内容,它只是刷新页面并删除 xml 文件中之前的任何值..

更新

该表单现在可以使用,但我添加了一个重置​​按钮,我需要它来清除 xml 文件,因此它只有 <welcome>标签。我已更改 $data->item->name=$_POST['welcome'];$data='';但它会删除文本并保持标签不变。

最佳答案

您可以使用 simplexml 来完成。

从 xml 读取数据:

$data = simplexml_load_file('welcome.xml');

$welcome = $data->item[0]->name;

并写入数据:
$data = simplexml_load_file('welcome.xml');

$data->item[0]->name = $_POST['welcome'];

$handle = fopen("welcome.xml", "wb");
fwrite($handle, $xml->asXML());
fclose($handle);

编辑:
对于评论中的问题:
<?php
if(isset($_POST['submit'])) {
$data=simplexml_load_file('welcome.xml');
$data->item->name=$_POST['name'];
$handle=fopen("welcome.xml","wb");
fwrite($handle,$data->asXML());
fclose($handle);
}

$data=simplexml_load_file('welcome.xml');
$welcome=$data->item->name;

?>

<form method="post">
<textarea name="name"><?php echo $welcome ?></textarea>
<br>
<input type="submit" name="submit" value="submit">
</form>

关于php - 通过 HTML 表单 (PHP) 编辑 XML,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12514000/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com