自动获取根元素内容并生成 XML 文件 - 使用 Javascript 代码
自动获取根元素内容并生成 XML 文件 - 使用 Javascript 代码
本文提供 Javascript 代码,使用 xlsx 和 xmlbuilder 库自动获取 XLSX 文件的根元素内容,并将数据转换为 XML 格式,保存为新的 XML 文件。
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 rootElementName = worksheet['A1'].v;
// 创建根元素
const root = xml.create(rootElementName);
// 获取属性行
const attributeRow = jsonData[0];
// 遍历每一行数据
jsonData.slice(1).forEach(row => {
const element = root.ele(attributeRow[0]);
attributeRow.slice(1).forEach((attribute, index) => {
element.att(attribute, row[index + 1]);
});
});
// 构建 XML 数据
const xmlData = root.end({ pretty: true });
// 保存为 XML 文件
fs.writeFile('path/to/output.xml', xmlData, 'utf8', err => {
if (err) {
console.error(err);
return;
}
console.log('转换后的XML文件已保存');
});
代码说明
- 首先,需要安装
xlsx和xmlbuilder库:
npm install xlsx xmlbuilder
-
代码读取指定的 XLSX 文件,并使用
XLSX.utils.sheet_to_json方法将第一个工作表转换为 JSON 格式数据。 -
从 XLSX 文件的第一个工作表中获取根元素名称,假设根元素名称位于 A1 单元格。
-
使用
xmlbuilder创建根元素,并将根元素名称作为参数传递给xml.create()。 -
获取属性行,并遍历每一行数据。在每一行中,创建一个元素,并为元素设置属性。
-
使用
root.end()构建 XML 数据,并使用fs.writeFile将转换后的 XML 数据保存为新的 XML 文件。
使用方法
-
将代码中的
path/to/input.xlsx替换为实际的输入 XLSX 文件路径。 -
将代码中的
path/to/output.xml替换为实际的输出 XML 文件路径。 -
运行代码,即可自动获取 XLSX 文件的根元素名称,并根据提供的格式将其转换为 XML 格式,并将转换后的 XML 数据保存到指定的输出文件路径中。
其他说明
- 代码假设 XLSX 文件的第一个工作表包含数据,且第一行包含属性名称。
- 代码假设根元素名称位于 A1 单元格。
- 您可以根据需要修改代码,以满足不同的需求。
原文地址: https://www.cveoy.top/t/topic/IMu 著作权归作者所有。请勿转载和采集!