xml2js 简单的使用实例 xml 转换为 json

这个是一个简单的 xml2js 使用示例

将后台返回的 xml 代码转换为前台可使用的 json 格式的字符串
github 源码地址

源码

  • app.js
var fs = require('fs'),
  xml2js = require('xml2js')

var parser = new xml2js.Parser({ explicitArray: false })
fs.readFile(__dirname + '/data.xml', function(err, data) {
  parser.parseString(data, function(err, result) {
    console.log(err)
    console.log(result)
    fs.writeFile('data.json', JSON.stringify(result), err => {
      if (err) throw err
      console.log('文件已保存')
    })
  })
})

  • data.xml

  0
  查询调用成功返回!
  1
  2
  25
  71
  201812
  1
  1
  下沙开发区海天城3-1-2401
  2711025709493
  TY3G
  
    中国电信股份有限公司杭州分公司客户帐单
    
      
        帐户名称
        卢倩
      
      
        费用提示
        您本期费用已结清,无需另外付费。
      
      
        帐单周期
        2018年12月01日至2018年12月31日
      
      
        帐户号码
        2711025709493
      
      
        打印日期
        2019年01月15日
      
    
    
      
        
        手机:13336024342
        104.82
        
          
            月基本费
            99.00,0.00,99.00
            2
            1
            0
            0
            0
          
          
            基本包月费
            99.00,0.00,99.00
            3
            0
            0
            0
            0
            {"key_num":"13336024342","flag":1,"serv_type":"5","item_id":"300146"}
          
          
            上网及数据通信费
            5.82,0.00,5.82
            2
            1
            0
            0
            0
          
          
            WiFi使用费
            5.82,0.00,5.82
            3
            0
            0
            0
            0
            {"key_num":"13336024342","flag":1,"serv_type":"5","item_id":"302482"}
          
          
            综合信息服务费
            5.00,-5.00,0.00
            2
            1
            0
            0
            0
          
          
            来电显示功能费
            5.00,-5.00,0.00
            3
            0
            0
            0
            0
            {"key_num":"13336024342","flag":1,"serv_type":"5","item_id":"200277"}
          
          
            本项小计:
            109.82,-5.00,104.82
            1
            1
            0
            2
            0
          
        
        
          
            
            (共享)国内通话分钟数
            300
            102
            
          
        
      
      
        
        手机:17705810431
        19.00
        
          
            综合信息服务费
            24.00,-5.00,19.00
            2
            1
            0
            0
            0
          
          
            来电显示功能费
            5.00,-5.00,0.00
            3
            0
            0
            0
            0
            {"key_num":"17705810431","flag":1,"serv_type":"5","item_id":"200277"}
          
          
            副卡功能费
            19.00,0.00,19.00
            3
            0
            0
            0
            0
            {"key_num":"17705810431","flag":1,"serv_type":"5","item_id":"303163"}
          
          
            本项小计:
            24.00,-5.00,19.00
            1
            1
            0
            2
            0
          
        
        
          
            
            (共享)国内通话分钟数
            300
            184
            
          
        
      
    
    
      
        帐户信息
        
          
            本期费用合计:
            123.82元
          
          
            本期已付费用:
            123.82元(其中赠款抵扣5.00元,本金抵扣118.82元)
          
          
            本期未交费用:
            0.00元
          
          
            截至期末帐户可用余额:
            46.01元
          
          
            
            
          
          
            备注:
            1.帐单支付请登陆网上营业厅(zj.189.cn)或翼支付网站(www.bestpay.com.cn)使用充值卡或银行卡进行充值交费。2.流量单位换算关系: 1MB=1024KB。3.自2016年7月起,电信企业用户费用欠交信息将逐步纳入人民银行征信中心浙江省分中心“浙江省企业信用信息辅助系统”。
          
        
      
      
        积分信息
        
          
            本期末可用积分=上期末可用积分-当期使用积分+本期新增可用积分
            
          
          
            
            
          
          
            备注:年末到期积分为4398,请您及时兑换。积分兑换请登陆网上营业厅或天翼积分商城(jf.189.cn)< br>
温馨提醒:每月5日为积分出账日!
            
          
        
      
      
        套餐说明
        
      
    
  

文件说明

  • app.js -> 主要的启动代码
  • data.json -> 读取 xml 文件后,输出的 json 数据
  • data.xml -> 需要读取的 xml 文件

装包

yarn

启动应用

node app.js

你可能感兴趣的:(xml2js 简单的使用实例 xml 转换为 json)