根据您的要求,以下是修改后的代码,用于将 XLSX 文件转换为 XML 文件,并将文件头修改为 '<xml version='1.0' encoding='utf-8'?>':

const fs = require('fs');
const XLSX = require('xlsx');
const xml = require('xmlbuilder');

// 读取 XLSX 文件
const workbook = XLSX.readFile('path/to/input.xlsx'); // 替换为实际的XLSX文件路径
const worksheet = workbook.Sheets[workbook.SheetNames[0]];
const jsonData = XLSX.utils.sheet_to_json(worksheet, { header: 1 });

// 创建根元素
const root = xml.create('DefaultSkillSet');

// 获取属性行
const attributeRow = jsonData[0];

// 遍历每一行数据
jsonData.slice(1).forEach(row => {
  const defaultElement = root.ele('Default');
  attributeRow.forEach((attribute, index) => {
    defaultElement.att(attribute, row[index]);
  });
});

// 构建 XML 数据
const xmlData = xml.create({ version: '1.0', encoding: 'UTF-8' }).ele(root).end({ pretty: true });

// 添加文件头
const xmlDataWithHeader = `<?xml version='1.0' encoding='utf-8'?>
${xmlData}`;

// 保存为 XML 文件
fs.writeFile('path/to/output.xml', xmlDataWithHeader, 'utf8', err => {
  if (err) {
    console.error(err);
    return;
  }
  console.log('转换后的XML文件已保存');
});

在上述代码中,我们在构建 XML 数据之前添加了一个新的步骤来修改文件头。

首先,我们使用 xml.create({ version: '1.0', encoding: 'UTF-8' }) 创建一个 XML 对象,并将 { version: '1.0', encoding: 'UTF-8' } 作为选项传递,以表示要在生成的 XML 文件中添加文件头。

然后,我们使用 .ele(root) 将之前创建的 root 元素添加到新创建的 XML 对象中。

接下来,我们使用 .end({ pretty: true }) 构建 XML 数据,并将其保存到 xmlData 变量中。

然后,我们将 xmlData 与文件头合并,得到带有修改后文件头的完整 XML 数据。

最后,我们使用 fs.writeFile 将带有修改后文件头的 XML 数据保存为新的 XML 文件。

请确保将代码中的 path/to/input.xlsx 替换为实际的输入 XLSX 文件路径,将 path/to/output.xml 替换为实际的输出 XML 文件路径。

运行上述代码后,它将读取 XLSX 文件中的属性,并按照提供的格式将其转换为 XML 格式。同时,它将在文件头中添加 <?xml version='1.0' encoding='utf-8'?>,并将转换后的 XML 数据保存到指定的输出文件路径中。

希望这次的代码满足了您的要求!

XLSX 转换为 XML:添加文件头并格式化输出

原文地址: http://www.cveoy.top/t/topic/IAD 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录