iis服务器助手广告广告
返回顶部
首页 > 资讯 > 前端开发 > node.js >实例分析nodejs模块xml2js解析xml过程中遇到的坑
  • 900
分享到

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

过程中实例模块 2022-06-04 17:06:21 900人浏览 八月长安
摘要

本文实例讲述了nodejs模块xml2js解析xml过程中遇到的坑。分享给大家供大家参考,具体如下: 在一个项目中,用到nodejs模块xml2js解析xml,xml的数据如下: <xml>

本文实例讲述了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' } }

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

PS:这里再为大家提供几款关于xml操作的在线工具供大家参考使用:

在线XML/JSON互相转换工具
Http://tools.gimoo.net/code/xmljson

在线格式化XML/在线压缩XML:
http://tools.gimoo.net/code/xmlfORMat

XML在线压缩/格式化工具:
http://tools.gimoo.net/code/xml_format_compress

XML代码在线格式化美化工具:
http://tools.gimoo.net/code/xmlcodeformat

希望本文所述对大家nodejs程序设计有所帮助。

--结束END--

本文标题: 实例分析nodejs模块xml2js解析xml过程中遇到的坑

本文链接: https://www.lsjlt.com/news/12762.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作