前言
在前端开发中,有时候需要与后端交互数据,而后端有可能会提供 XML 格式的数据。但是,前端常常操作的是 JSON 数据,所以需要把 XML 转换成 JSON 格式。这时,npm 包 mcwonka-xml2js 就能派上用场了。
mcwonka-xml2js 简介
mcwonka-xml2js 是一个用于将 XML 数据转换为 JSON 数据的 npm 包。
该包支持将 XML 节点名称、属性和文本内容转换为 JSON 数据的键值对。它还支持值的原样保留、日期格式转换和自定义标记转换。同时,该包还支持将多个 XML 集合转换为 JSON 数组。
目前,npm 包已更新至最新的版本 0.6.1。
安装 mcwonka-xml2js
要使用该 npm 包,需要先在本地安装它。你可以通过以下命令使用 npm 安装:
npm install mcwonka-xml2js
使用 mcwonka-xml2js
mcwonka-xml2js 提供了 4 个 API:
parseString
将 XML 字符串转换为 JSON 数据。以下是使用示例:
-- -------------------- ---- ------- ----- ------ - ------------------------- ----- --- - - ----------- ----- -------------------- ---------- ----- --- ----- --- --- ---------------- ---------- -- -------------- ----------------- ------------------- ------- ----- --------------- --------------- ---------- ------ ---------------- ------------ --------------- ----------------- -------------------- ------- ------------- ----------------------- ----- ------- -- - -- ----- ------------------ ------------------- --
parse
将 XML 字符串或 Buffer 转换为 JSON 数据。以下是使用示例:
-- -------------------- ---- ------- ----- ------ - ------------------------- ----- ------ - ------------- ----------- ----- -------------------- ---------- ----- --- ----- --- --- ---------------- ---------- -- -------------- ----------------- ------------------- ------- ----- --------------- --------------- ---------- ------ ---------------- ------------ --------------- ----------------- -------------------- ------- -------------- -------------------- ----- ------- -- - -- ----- ------------------ ------------------- --
Builder
用于创建 XML 格式的字符串或流。以下是使用示例:
-- -------------------- ---- ------- ----- ------ - ------------------------- ----- ------- - --- ---------------- ----- --- - - ---------- - ----- - - -- - --------- ---------- -- ------ ---- ----- --- ----- --- --- ---------- ------- --- -- ------- ----- ----- ------ ---- -- - -- - --------- ----- -- ------ --------- ---------- ------ ---------- ------- ----- -------- ----- ----- ------ ----- - - - - ----- --- - ------------------------ ----------------
在此示例中,我们创建了一个 JSON 对象 obj,然后使用
Builder
对象的buildObject
方法将其转换为 XML 格式的字符串。parseStringPromise
与
parseString
方法相同,但返回一个 Promise。以下是使用示例:-- -------------------- ---- ------- ----- ------ - ------------------------- ----- --- - - ----------- ----- -------------------- ---------- ----- --- ----- --- --- ---------------- ---------- -- -------------- ----------------- ------------------- ------- ----- --------------- --------------- ---------- ------ ---------------- ------------ --------------- ----------------- -------------------- ------- ------------- ------------------------------------------ -- - ------------------- ------------ -- - ------------------ --
自定义选项
mcwonka-xml2js 还支持一些自定义选项,使其更加灵活。以下是部分可选项:
explicitArray
将 XML 中只包含一个元素的数组转换为单个 JSON 对象。以下是使用示例:
-- -------------------- ---- ------- ----- ------ - ------------------------- ----- --- - - ----------- ------ ---------- ----- --- ----- --- --- ---------------- ---------- -- -------------- ----------------- ------------------- ------- ------ --------------- ---------- ------ ---------------- ------------ --------------- ----------------- -------------------- ------- ------------- ----------------------- - -------------- ----- -- ----- ------- -- - -- ----- ------------------ ------------------- --
在此示例中,我们将选项
explicitArray
设为 false,将两个book
元素转换为一个 JSON 对象。normalizeTags
标准化 XML 标记名称,保留正确的大写和小写。以下是使用示例:
-- -------------------- ---- ------- ----- ------ - ------------------------- ----- --- - - ----------- ------ ---------- ----- --- ----- --- --- ---------------- ---------- -- -------------- ----------------- ------------------- ------- ------------- ----------------------- - -------------- ---- -- ----- ------- -- - -- ----- ------------------ ------------------- --
在此示例中,我们将选项
normalizeTags
设为 true,将BOOK
、TITLE
、AUTHOR
、YEAR
和PRICE
标记名称标准化。emptyTag
将空标记转换为某个字符串。以下是使用示例:
-- -------------------- ---- ------- ----- ------ - ------------------------- ----- --- - - ----------- ------ --------------- ---------- -- -------------- ----------------- ------------------- ------- ------------- ----------------------- - --------- ----- -- ----- ------- -- - -- ----- ------------------ ------------------- --
在此示例中,我们将选项
emptyTag
设为 'N/A',将空标记<title></title>
转换为 'N/A'。
总结
本文介绍了 npm 包 mcwonka-xml2js 的使用方法,包括安装、四个 API 和自定义选项。该 npm 包方便了前端开发者处理 XML 格式的数据,相信对于接触过 XML 的前端开发者来说,会有一定的指导意义。
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/6005558181e8991b448d2ab1