实例分析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的Promise的用法解析
May 05 NodeJs
在windows上用nodejs搭建静态文件服务器的简单方法
Aug 11 NodeJs
简单实现nodejs上传功能
Jan 14 NodeJs
Nodejs 获取时间加手机标识的32位标识实现代码
Mar 07 NodeJs
详解NodeJS框架express的路径映射(路由)功能及控制
Mar 24 NodeJs
nodejs个人博客开发第五步 分配数据
Apr 12 NodeJs
nodejs6下使用koa2框架实例
May 18 NodeJs
nodejs批量下载图片的实现方法
May 19 NodeJs
详解nodejs模板引擎制作
Jun 14 NodeJs
使用Nodejs连接mongodb数据库的实现代码
Aug 21 NodeJs
nodejs实现解析xml字符串为对象的方法示例
Mar 14 NodeJs
NodeJS开发人员常见五个错误理解
Oct 14 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
免费手机号码归属地API查询接口和PHP使用实例分享
2014/04/10 PHP
PHP获取中英混合字符串长度的方法
2014/06/07 PHP
PHP提示Cannot modify header information - headers already sent by解决方法
2014/09/22 PHP
php5.3提示Function ereg() is deprecated Error问题解决方法
2014/11/12 PHP
PHP制作万年历
2015/01/07 PHP
类之Prototype.js学习
2007/06/13 Javascript
jQuery对象和DOM对象相互转化
2009/04/24 Javascript
Prototype源码浅析 Number部分
2012/01/16 Javascript
jQuery结合CSS制作漂亮的select下拉菜单
2015/05/03 Javascript
深入理解JavaScript的React框架的原理
2015/07/02 Javascript
js实现网页抽奖实例
2015/08/05 Javascript
jquery获取文档高度和窗口高度汇总
2016/01/25 Javascript
JavaScript中用let语句声明作用域的用法讲解
2016/05/20 Javascript
vue+element-ui+ajax实现一个表格的实例
2018/03/09 Javascript
详解NodeJs开发微信公众号
2018/05/25 NodeJs
vue 项目中使用Loading组件的示例代码
2018/08/31 Javascript
深入解析ES6中的promise
2018/11/08 Javascript
如何在vue项目中嵌入jsp页面的方法(2种)
2020/02/06 Javascript
Vue之封装公用变量以及实现方式
2020/07/31 Javascript
[03:17]史诗级大片应援2018DOTA2国际邀请赛 致敬每一位坚守遗迹的勇士
2018/07/20 DOTA
剖析Python的Twisted框架的核心特性
2016/05/25 Python
python 获取文件下所有文件或目录os.walk()的实例
2018/04/23 Python
python爬取cnvd漏洞库信息的实例
2019/02/14 Python
使用Python检测文章抄袭及去重算法原理解析
2019/06/14 Python
tensorflow实现对张量数据的切片操作方式
2020/01/19 Python
浅析python中的del用法
2020/09/02 Python
Django如何实现防止XSS攻击
2020/10/13 Python
PyCharm 光标变成黑块的解决方式
2021/02/06 Python
NFL加拿大官方网上商店:NHLShop.ca
2019/03/12 全球购物
个人自我鉴定范文
2013/10/04 职场文书
义和团口号
2014/06/17 职场文书
标准大学生职业生涯规划书写作指南
2014/09/18 职场文书
蛋糕店创业计划书范文
2014/09/21 职场文书
2015年民主生活会发言材料
2014/12/15 职场文书
好好学习保证书
2015/02/26 职场文书
党员评议自我评价
2015/03/03 职场文书