npm 包 mcwonka-xml2js 使用教程

阅读时长 9 分钟读完

前言

在前端开发中,有时候需要与后端交互数据,而后端有可能会提供 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 安装:

使用 mcwonka-xml2js

mcwonka-xml2js 提供了 4 个 API:

  1. parseString

    将 XML 字符串转换为 JSON 数据。以下是使用示例:

    -- -------------------- ---- -------
    ----- ------ - -------------------------
    
    ----- --- - -
      -----------
        ----- --------------------
          ---------- ----- --- ----- --- --- ----------------
          ---------- -- --------------
          -----------------
          -------------------
        -------
        ----- ---------------
          --------------- ---------- ------ ----------------
          ------------ ---------------
          -----------------
          --------------------
        -------
      -------------
    
    ----------------------- ----- ------- -- -
      -- ----- ------------------
      -------------------
    --
  2. parse

    将 XML 字符串或 Buffer 转换为 JSON 数据。以下是使用示例:

    -- -------------------- ---- -------
    ----- ------ - -------------------------
    
    ----- ------ - -------------
      -----------
        ----- --------------------
          ---------- ----- --- ----- --- --- ----------------
          ---------- -- --------------
          -----------------
          -------------------
        -------
        ----- ---------------
          --------------- ---------- ------ ----------------
          ------------ ---------------
          -----------------
          --------------------
        -------
      --------------
    
    -------------------- ----- ------- -- -
      -- ----- ------------------
      -------------------
    --
  3. Builder

    用于创建 XML 格式的字符串或流。以下是使用示例:

    -- -------------------- ---- -------
    ----- ------ - -------------------------
    
    ----- ------- - --- ----------------
    ----- --- - -
      ---------- -
        ----- -
          -
            -- - --------- ---------- --
            ------ ---- ----- --- ----- --- --- ----------
            ------- --- -- -------
            ----- -----
            ------ ----
          --
          -
            -- - --------- ----- --
            ------ --------- ---------- ------ ----------
            ------- ----- --------
            ----- -----
            ------ -----
          -
        -
      -
    -
    ----- --- - ------------------------
    ----------------

    在此示例中,我们创建了一个 JSON 对象 obj,然后使用 Builder 对象的 buildObject 方法将其转换为 XML 格式的字符串。

  4. parseStringPromise

    parseString 方法相同,但返回一个 Promise。以下是使用示例:

    -- -------------------- ---- -------
    ----- ------ - -------------------------
    
    ----- --- - -
      -----------
        ----- --------------------
          ---------- ----- --- ----- --- --- ----------------
          ---------- -- --------------
          -----------------
          -------------------
        -------
        ----- ---------------
          --------------- ---------- ------ ----------------
          ------------ ---------------
          -----------------
          --------------------
        -------
      -------------
    
    ------------------------------------------ -- -
      -------------------
    ------------ -- -
      ------------------
    --

自定义选项

mcwonka-xml2js 还支持一些自定义选项,使其更加灵活。以下是部分可选项:

  1. explicitArray

    将 XML 中只包含一个元素的数组转换为单个 JSON 对象。以下是使用示例:

    -- -------------------- ---- -------
    ----- ------ - -------------------------
    
    ----- --- - -
      -----------
        ------
          ---------- ----- --- ----- --- --- ----------------
          ---------- -- --------------
          -----------------
          -------------------
        -------
        ------
          --------------- ---------- ------ ----------------
          ------------ ---------------
          -----------------
          --------------------
        -------
      -------------
    
    ----------------------- - -------------- ----- -- ----- ------- -- -
      -- ----- ------------------
      -------------------
    --

    在此示例中,我们将选项 explicitArray 设为 false,将两个 book 元素转换为一个 JSON 对象。

  2. normalizeTags

    标准化 XML 标记名称,保留正确的大写和小写。以下是使用示例:

    -- -------------------- ---- -------
    ----- ------ - -------------------------
    
    ----- --- - -
      -----------
        ------
          ---------- ----- --- ----- --- --- ----------------
          ---------- -- --------------
          -----------------
          -------------------
        -------
      -------------
    
    ----------------------- - -------------- ---- -- ----- ------- -- -
      -- ----- ------------------
      -------------------
    --

    在此示例中,我们将选项 normalizeTags 设为 true,将 BOOKTITLEAUTHORYEARPRICE 标记名称标准化。

  3. emptyTag

    将空标记转换为某个字符串。以下是使用示例:

    -- -------------------- ---- -------
    ----- ------ - -------------------------
    
    ----- --- - -
      -----------
        ------
          ---------------
          ---------- -- --------------
          -----------------
          -------------------
        -------
      -------------
    
    ----------------------- - --------- ----- -- ----- ------- -- -
      -- ----- ------------------
      -------------------
    --

    在此示例中,我们将选项 emptyTag 设为 'N/A',将空标记 <title></title> 转换为 'N/A'。

总结

本文介绍了 npm 包 mcwonka-xml2js 的使用方法,包括安装、四个 API 和自定义选项。该 npm 包方便了前端开发者处理 XML 格式的数据,相信对于接触过 XML 的前端开发者来说,会有一定的指导意义。

来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/6005558181e8991b448d2ab1

纠错
反馈