【问题标题】:Is there any way to create an XML file with an html form data with JavaScript?有没有办法用 JavaScript 创建一个带有 html 表单数据的 XML 文件?
【发布时间】:2020-06-21 18:26:29
【问题描述】:

我得到了一个巨大的 html 表单。每次单击提交按钮时,我都需要将表单数据发送到 XML 文件。我已经在一个大数组中包含了每个表单输入值,如下所示:

0: "2" 1: "105920808" 2: "Carlos Briceño" 3: "212135" 4: "cbrice@femw.com" 5: "3213asdasdas" 6: "cmbriceno@gmail.com" 7: "87047866" 8: "87047866" 9: "1" 10: "55" 11: "8" 12: "Urbanizacion Las Lomas" 13: "Alto de Guadalupe, Urbanización las Lomas" 14: "324131" 15: "pass1 " 16: "444444444444" 17: "1231" 18: "321" 19: "32" 20: "1" 21: "1" 22: "98" 23: "Carlos" 24: "0" 25: "cmbriceno@gmail.com" 26: "24402969" 27: "87047866" 28: "0" 29: "0" 30: "0" 31: "" 32: "" 33: "1231132" 34: "Cambiar AE" 35: "02" 36: "CRC" 37: "01" 38: "565.28" 39: "01" 40: (9) ["1", "123456", "1", "I", "100000", "Linea 1", "", "", "08"] 41: (9) ["1", "10101", "1", "Alc", "20000", "linea 2 ", "10", "", "08"] 42: "This is a test" 43: "118000" 44: "" 45: "" 46: "" 47: "" 48: "" 49: "118000" 50: "" 51: "" 52: "2000" 53: "118000" 54: "116000" 55: "" 56: "" 57: "133340"

我要做的就是将此数组转换为具有适当结构的 XML。一直在寻找类似的东西几个小时,但没有找到解决方案。

【问题讨论】:

  • 应该在数组中吗?将其存储为对象不是更好吗?然后使用这样的库:npmjs.com/package/xml-js(只是谷歌的第一个结果)
  • 如果你已经有了数组,你所需要的就是用一个简单的for循环遍历数组,并按照你想要的方式在xml中构造你的数据(在它周围添加或其他) .在顶部添加一个标题,将其输出到浏览器或文件,你就完成了。阅读w3schools.com/xml 上的 xml 文件结构 - 不需要库。
  • 谢谢大家,我会尝试每一个解决方案,让你知道哪个最适合我
  • 我还在努力。你不知道路吗?

标签: javascript html arrays xml forms


【解决方案1】:

会告诉这样的东西可能是有效的 XML,但它可能缺少字段名称。

var data = {0: "2", 1: "105920808", 2: "Carlos Briceño", 3: "212135", 4: "cbrice@femw.com", 5: "3213asdasdas", 6: "cmbriceno@gmail.com", 7: "87047866", 8: "87047866", 9: "1", 10: "55", 11: "8", 12: "Urbanizacion Las Lomas", 13: "Alto de Guadalupe, Urbanización las Lomas", 14: "324131", 15: "pass1 ", 16: "444444444444", 17: "1231", 18: "321", 19: "32", 20: "1", 21: "1", 22: "98", 23: "Carlos", 24: "0", 25: "cmbriceno@gmail.com", 26: "24402969", 27: "87047866", 28: "0", 29: "0", 30: "0", 31: "", 32: "", 33: "1231132", 34: "Cambiar AE", 35: "02", 36: "CRC", 37: "01", 38: "565.28", 39: "01", 40: ["1", "123456", "1", "I", "100000", "Linea 1", "", "", "08"], 41: ["1", "10101", "1", "Alc", "20000", "linea 2 ", "10", "", "08"], 42: "This is a test", 43: "118000", 44: "", 45: "", 46: "", 47: "", 48: "", 49: "118000", 50: "", 51: "", 52: "2000", 53: "118000", 54: "116000", 55: "", 56: "", 57: "133340" };
function print2XML(data, y) {
    var res = '';
    for(var x in data) {
        var idx = y ? (y + '.' + x) : x;
        if (data[x].constructor == Array) {
            res += '<Item' + idx + '>\n' + print2XML(data[x], idx) + '</Item' + idx + '>\n';
        }
        else res += '<Item' + idx + '>' + data[x] + '</Item' + idx + '>\n';
    }
    return res;
}
console.log('<yourXMLdata>\n' + print2XML(data) + '</yourXMLdata>');
document.write(('<yourXMLdata>\n' + print2XML(data) + '</yourXMLdata>').replace(/</g,'&lt;').replace(/>/g,'&gt;').replace(/\n/g,'<br>'));
document.close();

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2019-08-26
    • 1970-01-01
    • 2013-10-14
    • 1970-01-01
    • 2011-09-25
    • 1970-01-01
    • 2011-12-17
    • 1970-01-01
    相关资源
    最近更新 更多