xml - Js2XML 在转换为 XML 时返回了额外的“item”标签
问题描述
我正在使用js2xml包将 json 对象转换为 xml 做打字稿项目。
下面是我需要作为输出的 xml 。
<?xml version="1.0" encoding="UTF-8"?>
<Marks>
<IndexNo>202104455</IndexNo>
<IndexNo>20210488</IndexNo>
</Marks>
为此,我在打字稿中创建了下面的界面。
export interface Subject {
IndexNo: string[];
}
然后我分配如下值。
let objSubject: Subject = {
IndexNo: ["202104455", "20210488"]
}
var jsn = JSON.parse(JSON.stringify(objSubject));
console.log(jsn);
var outputXML = new Js2Xml("Marks", jsn);
上面的json是,
{ IndexNo: [ '202104455', '20210488' ] }
执行后,它在xml下面返回。问题是额外的“项目”标签出现在 indexNo 标签内。我想要的是上面提到的xml。
<?xml version="1.0" encoding="UTF-8"?>
<Marks>
<IndexNo>
<item>202104455</item>
<item>20210488</item>
</IndexNo>
</Marks>
如何解决上述问题?有没有其他 npm 包可以完成我的任务?
解决方案
我更喜欢使用xml-js,复杂但有效 ;-)
import { js2xml } from 'xml-js';
const objSubject = {
declaration: { attributes: { version: '1.0', encoding: 'utf-8' } },
elements: [
{
type: 'element',
name: 'Marks',
elements: [
{
type: 'element',
name: 'IndexNo',
elements: [{ type: 'text', text: '202104455' }],
},
{
type: 'element',
name: 'IndexNo',
elements: [{ type: 'text', text: '20210488' }],
},
],
},
],
};
var outputXML = js2xml(objSubject);
console.log(outputXML.toString());
输出:
<Marks><IndexNo>202104455</IndexNo><IndexNo>20210488</IndexNo></Marks>
推荐阅读
- r - 后期进入生存分析的语法
- python - 使用 Tensorflow tf.data 在图形执行期间从时间序列特征创建图像
- python - 无法解释发生 SettingWithCopyError 的原因(Python 2.7,Pandas 0.20.3)
- c - 修复 C switch 语句函数溢出?
- r - R data.table 生成每列的唯一值
- django - Django - get_redirect_url() 导致找不到页面 (404)
- macos - 如何从目录和子目录中的txt文件中找到许多文件,然后将所有文件复制到新文件夹
- swift - Firebase ChildAdded 观察者正在检索不存在的数据
- javascript - iPhone X 的粘性底部栏不独立
- c# - serialport1 在上下文中不存在