实例分析nodejs模块xml2js解析xml过程中遇到的坑


Posted in NodeJs onMarch 18, 2017

本文实例讲述了nodejs模块xml2js解析xml过程中遇到的坑。分享给大家供大家参考,具体如下:

在一个项目中,用到nodejs模块xml2js解析xml,xml的数据如下:

<xml>
<MsgId>6197906553041859764</MsgId>
</xml>

用xml2js中的xml2js.parseString 方法解析,本来以为是一个json,但总是解析失败,把解析的结果log下后如下:

{ xml: { MsgId: [ '6197906553041859764' ] } }

本来xml中<MsgId>包的是一个字符串,结果解析出来的是数组。

后来查了xml2js的官网,发现了如下的参数:

explicitArray (default: true): Always put child nodes in an array if true; otherwise an array is created only if there is more than one.

原来xml2js默认会把子子节点的值变为一个数组,这个坑真大啊!!!为了查这个问题,花了半天的时间。

知道原因后,解决的方法也很简单,在调用xml2js.parseString时加入explicitArray的参数如下:

xml2js.parseString(buf, {explicitArray : false}, function(err, json) {
});

修改后解析如下的结果如下:

{ xml: { MsgId: '6197906553041859764' } }

现在就变成一个字符串了。

NodeJs 相关文章推荐
在NodeJS中启用ECMAScript 6小结(windos以及Linux)
Jul 15 NodeJs
nodejs调用cmd命令实现复制目录
May 04 NodeJs
详解nodejs 文本操作模块-fs模块(三)
Dec 22 NodeJs
Nodejs 发送Post请求功能(发短信验证码例子)
Feb 09 NodeJs
nodejs搭建本地http服务器教程
Mar 13 NodeJs
深入学习nodejs中的async模块的使用方法
Jul 12 NodeJs
ubuntu编译nodejs所需的软件并安装
Sep 12 NodeJs
nodejs中安装ghost出错的原因及解决方法
Oct 23 NodeJs
nodejs+mongodb aggregate级联查询操作示例
Mar 17 NodeJs
nodejs的路径问题的解决
Jun 30 NodeJs
Nodejs把接收图片base64格式保存为文件存储到服务器上
Sep 26 NodeJs
nodejs实现范围请求的实现代码
Oct 12 NodeJs
nodejs中模块定义实例详解
Mar 18 #NodeJs
Nodejs基于LRU算法实现的缓存处理操作示例
Mar 17 #NodeJs
用nodeJS搭建本地文件服务器的几种方法小结
Mar 16 #NodeJs
nodejs+express实现文件上传下载管理网站
Mar 15 #NodeJs
nodejs搭建本地http服务器教程
Mar 13 #NodeJs
搭建简单的nodejs http服务器详解
Mar 09 #NodeJs
nodejs读写json文件的简单方法(必看)
Mar 09 #NodeJs
You might like
用PHP实现小型站点广告管理(修正版)
2006/10/09 PHP
一个PHP模板,主要想体现一下思路
2006/12/25 PHP
用mysql_fetch_array()获取当前行数据的方法详解
2013/06/05 PHP
php中smarty模板条件判断用法实例
2015/06/11 PHP
php实现网站顶踩功能的完整前端代码
2015/07/19 PHP
Yii2创建表单(ActiveForm)方法详解
2016/07/23 PHP
Laravel框架源码解析之入口文件原理分析
2020/05/14 PHP
Code:findPosX 和 findPosY
2006/12/20 Javascript
jQuery库与其他JS库冲突的解决办法
2010/02/07 Javascript
获取非最后一列td值并将title设为该值的方法
2013/10/30 Javascript
Shell脚本实现Linux系统和进程资源监控
2015/03/05 Javascript
最精简的JavaScript实现鼠标拖动效果的方法
2015/05/11 Javascript
AngularJS入门教程之链接与图片模板详解
2016/08/19 Javascript
jQuery轮播图效果精简版完整示例
2016/09/04 Javascript
bootstrap datepicker限定可选时间范围实现方法
2016/09/28 Javascript
在网页中插入百度地图的步骤详解
2016/12/02 Javascript
折叠菜单及选择器的运用
2017/02/03 Javascript
nodejs制作爬虫实现批量下载图片
2017/05/19 NodeJs
jQuery实现选中行变色效果(实例讲解)
2017/07/06 jQuery
vue组件的写法汇总
2018/04/12 Javascript
微信小程序官方动态自定义底部tabBar的例子
2019/09/04 Javascript
[04:31]2016国际邀请赛中国区预选赛妖精采访
2016/06/27 DOTA
[56:17]NB vs Infamous 2019国际邀请赛淘汰赛 败者组 BO3 第三场 8.22
2019/09/05 DOTA
python简单操作excle的方法
2018/09/12 Python
Python文件如何引入?详解引入Python文件步骤
2018/12/10 Python
Python log模块logging记录打印用法解析
2020/01/20 Python
Pytorch 使用 nii数据做输入数据的操作
2020/05/26 Python
Steve Madden官网:美国鞋类品牌
2017/01/29 全球购物
英国领先的电子、技术和办公用品购物网站:Ebuyer
2018/04/04 全球购物
兰蔻法国官方网站:Lancôme法国
2020/02/22 全球购物
上海某公司.net方向笔试题
2014/09/14 面试题
硕士研究生个人求职信
2013/12/04 职场文书
邻里守望志愿服务活动方案
2014/08/15 职场文书
二年级语文下册复习计划
2015/01/19 职场文书
大雁塔英文导游词
2015/02/10 职场文书
社团招新宣传语
2015/07/13 职场文书