如何解决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',text: '20210488' }],],};
var outputXML = js2xml(objSubject);
console.log(outputXML.toString());
输出:
<Marks><IndexNo>202104455</IndexNo><IndexNo>20210488</IndexNo></Marks>
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。