一个简单的 XML 和 JS 对象转换库。基于 xml2js 做简单封装
根据日常实际项目使用情况:
- 整理并内置了一些默认参数,满足绝大多数使用场景
- 统一了异步表现形式,全部返回 Promise
- 内置类型引用,无需额外查看文档,开箱即用,IDE 友好
yarn add coa-xml
import { xml } from 'coa-xml'
// 将JS对象转换成xml字符串
await xml.encode({ name: 'A', gender: 1 }) // <xml><name>A</name><gender>1</gender></xml>
// 将xml字符串转为JS对象
await xml.decode('<xml><name>A</name><gender>1</gender></xml>') // { name: 'A', gender: 1 }
创建一个自定义实例,该实例的用法和xml
对象完全一致
import { CoaXml } from 'coa-xml'
// 根据自定义配置创建实例
const xml = new CoaXml({ cdata: false })
// 将JS对象转换成xml字符串
await xml.encode({ name: 'A', gender: 1 }) // <xml><name>A</name><gender>1</gender></xml>
// 将xml字符串转为JS对象
await xml.decode('<xml><name>A</name><gender>1</gender></xml>') // { name: 'A', gender: 1 }
其中,默认配置为
const DefaultOptions = {
rootName: 'xml',
explicitArray: false,
cdata: true,
headless: true,
explicitRoot: false,
}
更多配置的说明详见 xml2js 原文