我从 mongoDB 得到一个数组,格式如下:
const data = await db.collection('myCollection').find(filterQuery).project(projection).toArray();
data.map(record => { record._id = record._id.toString() }); // Converting objectId to string
// Data is:
[
{
"_id": "60bf71cb31657b3e2c5e8d3c",
"id": 1,
"productName": "Phillips L8FB86ES",
"copy1": "De beste wasmachine voor jou.",
"copy2": "Vandaag besteld.",
"copy3": "Morgen wassen.",
},
...
]
我想将此数组转换为 XML
const convert = require('xml-js');
transformed = convert.json2xml(data, { compact: true, ignoreComment: true, spaces: 4 });
在此过程中我没有收到任何错误,但是我将此文件上传到 cloudstorage 并且上传到那里的文件已损坏。我收到这样的错误:
This page contains the following errors:
error on line 1 at column 2: StartTag: invalid element name
Below is a rendering of the page up to the first error.
我真的不知道它有什么问题。我将不胜感激任何帮助。
注意:我也试过xml2js、fast-xml-parser和jstoxml包。但结果并没有改变。
笔记2:
当我登录时transformed
(转换的 XML 对象)
<0>
<_id>60bf71cb31657b3e2c5e8d3c</_id>
<id>1</id>
<productName>Phillips L8FB86ES</productName>
<copy1>De beste wasmachine voor jou.</copy1>
<copy2>Vandaag besteld.</copy2>
<copy3>Morgen wassen.</copy3>
</0>
</1>
...
编辑 3:我了解到 XML 标签不能以数字开头。那么如何将数组转换为 XML 呢?