gpt4 book ai didi

javascript - 如何使用 Javascript 将 HTML 表单数据输出到 XML 文件?

转载 作者:数据小太阳 更新时间:2023-10-29 02:22:25 51 4
gpt4 key购买 nike

我目前正在尝试弄清楚如何将我的 HTML 表单数据输出到 XML 文件。这是我过去几天一直在研究的一个想法,目的是创建一个用于 Windows 7 安装的 autounattended.xml 文件。

目前我的HTML如下:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title>Windows 7 Answer File Generator</title>
</head>
<body>
<form>
<h1>Windows 7 Answer File Generator</h1>
<h2>General Settings</h2>
<table>
<tr>
<td width="200px">Skip product key:</td>
<td>
<select name="SkipProductKey">
<option value="Yes" selected="selected">Yes</option>
<option value="No">No</option>
</select>
</td>
</tr>
<tr>
<td width="200px">Skip automatic activation:</td>
<td>
<select name="SkipAutoActivation">
<option value="Yes" selected="selected">Yes</option>
<option value="No">No</option>
</select>
</td>
</tr>
</table>
</body>
</html>

这只是我一直在努力的一小部分。所以,我想知道是否可以使用 javascript 根据选择的值创建一个 XML 文件,并询问用户将 xml 文件保存在哪里。任何与此相关的信息都会有很大帮助。

最佳答案

Demo here

$(function () {
$('#DownloadButton').click(update);
});

var template = [
'<?xml version="1.0"?>',
'<unattend xmlns="urn:schemas-microsoft-com:unattend">',
'...',
'<SkipProductKey><?SkipProductKey?></SkipProductKey>',
'...',
'<SkipAutoActivation><?SkipAutoActivation?></SkipAutoActivation>',
'...',
'</unattend>'
].join('\r\n');

function update() {
var variables = {
'SkipProductKey': $('#SkipProductKey').val(),
'SkipAutoActivation': $('#SkipAutoActivation').val()
};

var newXml = template.replace(/<\?(\w+)\?>/g,
function(match, name) {
return variables[name];
});


$('#ResultXml').val(newXml);
$('#DownloadLink')
.attr('href', 'data:text/xml;base64,' + btoa(newXml))
.attr('download', 'autounattended.xml');
$('#generated').show();
}

if (!window.btoa) {
// Source: http://www.koders.com/javascript/fid78168FE1380F7420FB7B7CD8BAEAE58929523C17.aspx
btoa = function (input) {
var chars = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=';

var result = '';
var chr1, chr2, chr3;
var enc1, enc2, enc3, enc4;
var i = 0;

do {
chr1 = input.charCodeAt(i++);
chr2 = input.charCodeAt(i++);
chr3 = input.charCodeAt(i++);

enc1 = chr1 >> 2;
enc2 = ((chr1 & 3) << 4) | (chr2 >> 4);
enc3 = ((chr2 & 15) << 2) | (chr3 >> 6);
enc4 = chr3 & 63;

if (isNaN(chr2)) {
enc3 = enc4 = 64;
} else if (isNaN(chr3)) {
enc4 = 64;
}

result += chars.charAt(enc1) + chars.charAt(enc2) + chars.charAt(enc3) + chars.charAt(enc4);
} while (i < input.length);

return result;
};
}

编辑:

  • 根据 OP 的要求添加了下载按钮。
  • 添加了 download 属性到链接以在单击时显示 Save As 对话框。 (感谢 Saurabh)
  • 演示已更新。

关于javascript - 如何使用 Javascript 将 HTML 表单数据输出到 XML 文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11383236/

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