nodejs实现解析xml字符串为对象的方法示例


Posted in NodeJs onMarch 14, 2018

本文实例讲述了nodejs实现解析xml字符串为对象的方法。分享给大家供大家参考,具体如下:

var xmlreader = require("xmlreader");
var fs = require("fs");
var xml_string = '<response id="1" shop="aldi">'
      +    'This is some other content'
      +    '<who name="james">James May</who>'
      +    '<who name="sam">'
      +      'Sam Decrock'
      +      '<location>Belgium</location>'
      +    '</who>'
      +    '<who name="jack">Jack Johnsen</who>'
      +    '<games age="6">'
      +      '<game>Some great game</game>'
      +      '<game>Some other great game</game>'
      +    '</games>'
      +    '<note>These are some notes</note>'
      +  '</response>';
xmlreader.read(xml_string, function(errors, response){
  if(null !== errors ){
    console.log(errors)
    return;
  }
  console.log( response.response );
  console.log( response.response.text() );
});

没啥新奇的,看看输出吧

第一句输出结果为:

{
  attributes : [Function],
  parent : [Function],
  count : [Function],
  at : [Function],
  each : [Function],
  text : [Function],
  who : {
    array : [[Object], [Object], [Object]],
    count : [Function],
    at : [Function],
    each : [Function]
  },
  games : {
    attributes : [Function],
    parent : [Function],
    count : [Function],
    at : [Function],
    each : [Function],
    game : {
      array : [Object],
      count : [Function],
      at : [Function],
      each : [Function]
    }
  },
  note : {
    attributes : [Function],
    parent : [Function],
    count : [Function],
    at : [Function],
    each : [Function],
    text : [Function]
  }
}

第二句输出:

This is some other content

根据输出我们就可以猜这东西是怎么回事儿了。

1、xmlreader将xml转换为JSON对象(这样表述不准确,但是大家知道怎么一回事儿)。
2、转换成的JSON对象的嵌套结构与原xml标签嵌套结构相同。
3、视xml中同一级别出现某标签次数不同(一次和多次)生出不同的对应对象,如上的node为一次,who为三次。
4、提供了一下函数供操作属性或者遍历等等。

各方法含义:

1、attributes:获取所有属性。
2、parent:获取父节点。
3、count:获取数目。
4、at:获取下标为指定值的节点。
5、each:遍历,参数为一个函数。
6、text:获取节点内的文本,仅当前节点的文本,不包含子节点的文本。

NodeJs 相关文章推荐
Nodejs Stream 数据流使用手册
Apr 17 NodeJs
nodejs实现发出蜂鸣声音(系统报警声)的方法
Jan 18 NodeJs
Express与NodeJs创建服务器的两种方法
Feb 06 NodeJs
nodejs+express实现文件上传下载管理网站
Mar 15 NodeJs
NodeJS测试框架mocha入门教程
Mar 28 NodeJs
nodejs个人博客开发第一步 准备工作
Apr 12 NodeJs
nodejs利用ajax实现网页无刷新上传图片实例代码
Jun 06 NodeJs
NodeJs实现定时任务的示例代码
Dec 05 NodeJs
nodejs实现的连接MySQL数据库功能示例
Jan 25 NodeJs
nodejs异步编程基础之回调函数用法分析
Dec 26 NodeJs
NVM安装nodejs的方法实用步骤
Jan 16 NodeJs
NodeJs入门教程之定时器和队列
Mar 08 NodeJs
nodejs acl的用户权限管理详解
Mar 14 #NodeJs
nodejs爬虫初试superagent和cheerio
Mar 05 #NodeJs
Nodejs模块载入运行原理
Feb 23 #NodeJs
Nodejs下使用gm圆形裁剪并合成图片的示例
Feb 22 #NodeJs
nodejs微信扫码支付功能实现
Feb 17 #NodeJs
nodejs+express搭建多人聊天室步骤
Feb 12 #NodeJs
nodeJs实现基于连接池连接mysql的方法示例
Feb 10 #NodeJs
You might like
PHP中的正规表达式(一)
2006/10/09 PHP
从MySQL数据库表中取出随机数据的代码
2007/09/05 PHP
php array_unique之后json_encode需要注意
2011/01/02 PHP
用php制作简单分页(从数据库读取记录)的方法详解
2013/05/04 PHP
php中的四舍五入函数代码(floor函数、ceil函数、round与intval)
2014/07/14 PHP
php对象在内存中的存在形式分析
2015/02/03 PHP
PHP中类的继承和用法实例分析
2016/05/24 PHP
PHP简单实现遍历目录下特定文件的方法小结
2017/05/22 PHP
兼容多浏览器的字幕特效Marquee的通用js类
2008/07/20 Javascript
jQuery.buildFragment使用方法及思路分析
2013/01/07 Javascript
实现局部遮罩与关闭原理及代码
2013/02/04 Javascript
jquery和雅虎的yql服务实现天气预报服务示例
2014/02/08 Javascript
node.js中的url.resolve方法使用说明
2014/12/10 Javascript
JS验证邮件地址格式方法小结
2015/12/01 Javascript
jQuery插件HighCharts实现气泡图效果示例【附demo源码】
2017/03/13 Javascript
Bootstrap table使用方法总结
2017/05/10 Javascript
vue-cli创建的项目中的gitHooks原理解析
2020/02/14 Javascript
js实现轮播图效果 纯js实现图片自动切换
2020/08/09 Javascript
js实现拖拽元素选择和删除
2020/08/25 Javascript
python批量同步web服务器代码核心程序
2014/09/01 Python
解读Django框架中的低层次缓存API
2015/07/24 Python
Python人脸识别初探
2017/12/21 Python
python实现聊天小程序
2018/03/13 Python
Python爬虫beautifulsoup4常用的解析方法总结
2019/02/25 Python
pip 安装库比较慢的解决方法(国内镜像)
2019/10/06 Python
python用类实现文章敏感词的过滤方法示例
2019/10/27 Python
Python for循环及基础用法详解
2019/11/08 Python
Django模板获取field的verbose_name实例
2020/05/19 Python
10款最佳Python开发工具推荐,每一款都是神器
2020/10/15 Python
聊聊python在linux下与windows下导入模块的区别说明
2021/03/03 Python
财务会计专业求职信范文
2013/12/31 职场文书
职务说明书范文
2014/05/07 职场文书
公司总经理岗位职责范本
2014/08/15 职场文书
会计手工模拟做账心得体会
2016/01/22 职场文书
2016年“9.22”世界无车日活动小结
2016/04/05 职场文书
送给小学生的暑假礼物!小学生必背99首古诗
2019/07/02 职场文书