You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何使用JavaScript从HTML表单生成指定格式的XML文件

解决方案

你需要给创建的DOM元素设置textContent属性来添加内嵌文本,直接删除原有设置属性的相关逻辑即可,修改后代码如下:

function formToXml(form){
    var xmldata=['<?xml version="1.0" encoding="UTF-8"?>'];
    const elNames = ["author", "title"];
    xmldata.push("<book>");
    var inputs=form.elements;
    for(var i=0;i<inputs.length;i++){
        // 跳过超出预设elNames长度的表单项,避免报错
        if(i >= elNames.length) break;
        var el=document.createElement(elNames[i]);
        if (inputs[i].name){
            // 直接设置内嵌文本,不需要额外加属性
            el.textContent = inputs[i].value;
            xmldata.push(el.outerHTML);
        }
    }
    xmldata.push("</book>");
    return xmldata.join("\n");
}

代码说明

  • 用DOM元素的textContent属性赋值,会自动把内容写入标签的闭合区间内,不会生成属性
  • 内置了越界判断,避免表单项数量超过预设的elNames数组长度时创建异常标签
  • 特殊字符(比如<、&等)会自动转义,保证生成的XML格式合法

最终生成的XML就会是你需要的格式:

<?xml version="1.0" encoding="UTF-8"?>
<book>
   <author>Something</author>
   <title>Something</title>
</book>

内容的提问来源于stack exchange,提问作者michaelpnrs

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.24 18:45:11