gpt4 book ai didi

javascript - HTML/PHP 表单到 XML

转载 作者:行者123 更新时间:2023-11-30 17:00:55 24 4
gpt4 key购买 nike

我希望根据 HTML/PHP 表单的输入创建一个 .XML 文件。我知道有一些关于此的帖子,但我找不到解决我的问题的方法。

所以,我有一个表单

<form action="" method="post" id="sett">
<input type="text" name="name" id="name" placeholder="Name"/>
<input type="text" name="age" id="age" placeholder="Age" />
<input type="text" name="country" id="country" placeholder="Country"/>
<button onclick=send()>Send</button>
</form>

如果我介绍 John 作为姓名,18 岁作为年龄,美国作为国家/地区,我想得到

<?xml version="1.0"?>
<sett>
<name>John</name>
<age>18</age>
<country>US</country>
</sett>

一种方法是

$xml = "<sett>\n";
$xml .= "\t\t<name>" . $_POST['name'] . "</name>\n";
$xml .= "\t\t<age>" . $_POST['age'] . "</age>\n";
$xml .= "\t\t<country>" . $_POST['country'] . "</country>\n";
$xml .= "</sett>";
$fp = fopen("input.xml","wb");
fwrite($fp,$xml);
fclose($fp);

问题是我的表格很大,不像示例中的那样,按照我刚才解释的方式来做有点粗糙。我想用 JavaScript/jQuery/AJAX/json 动态地完成它。我发现我可以将带有 json 的数组发送到另一个脚本或 .PHP,然后创建 .XML

<script>
function send(){
var array= //Array created with the POST/input of the form

$.ajax({
url: 'createxml.php',
type: "POST",
data: JSON.stringify(array),
contentType: "application/json",
success: function(data){
alert('Datos enviados correctamente');
}
});
}
</script>

创建xml.php

<?php $array = json_encode($_POST['array']); ?>
<?php
for($i=0;$i < count($array);$i++)
//Create the .XML from the array
?>

我需要缺失部分的帮助(我不知道 jQuery/AJAX 代码是否正确):如何从表单的 POST/输入创建数组,将其发送到 createxml.php,然后创建我们发送的数组中的 .XML。

最佳答案

您也可以在 PHP 中进行迭代,根据表单数据创建标签和值

$xml = "<sett>\n";

foreach ($_POST as $key => $value) {
$xml .= "<$key>$value</$key>";
}

$xml .= "</sett>";

此外,从表单中删除 send() 函数和内联事件处理程序,然后就可以了

$('#sett').on('submit', function(e) {
e.preventDefault();
$.post('createxml.php', $(this).serialize(), function(data) {
alert('Datos enviados correctamente');
});
});

关于javascript - HTML/PHP 表单到 XML,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28882744/

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