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

 更新时间:2018年03月14日 14:43:12   作者:dongmelon  
这篇文章主要介绍了nodejs实现解析xml字符串为对象的方法,涉及nodejs针对xml格式字符串的解析与转换相关操作技巧,需要的朋友可以参考下

本文实例讲述了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:获取节点内的文本,仅当前节点的文本,不包含子节点的文本。

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

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

在线格式化XML/在线压缩XML
http://tools.jb51.net/code/xmlformat

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

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

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

相关文章

  • Node.js学习入门

    Node.js学习入门

    本文主要介绍了Node.js的入门知识,包括:Node.js的特点,运行环境以及应用小例。具有一定的参考价值,下面跟着小编一起来看下吧
    2017-01-01
  • 简单谈谈node.js 版本控制 nvm和 n

    简单谈谈node.js 版本控制 nvm和 n

    大量开发者的贡献使Node版本的迭代速度很快,版本很多(横跨0.6到0.11),所以升级Node版本就成为了一个问题。目前有n和nvm这两个工具可以对Node进行无痛升级,本文简单介绍一下二者的使用。
    2015-10-10
  • 详解用Node.js实现Restful风格webservice

    详解用Node.js实现Restful风格webservice

    本篇文章主要介绍了详解用Node.js实现Restful风格webservice,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-09-09
  • node.js中的path.normalize方法使用说明

    node.js中的path.normalize方法使用说明

    这篇文章主要介绍了node.js中的path.normalize方法使用说明,本文介绍了path.normalize的方法说明、语法、使用实例和实现源码,需要的朋友可以参考下
    2014-12-12
  • 详解nodejs模板引擎制作

    详解nodejs模板引擎制作

    本篇文章主要介绍了nodejs模板引擎制作 ,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-06-06
  • node.js发送邮件email的方法详解

    node.js发送邮件email的方法详解

    这篇文章主要介绍了node.js发送邮件email的方法,结合实例形式详细分析了node.js发送邮件的原理、操作步骤、注意事项及常见问题解决方法,需要的朋友可以参考下
    2017-01-01
  • nodejs项目windows下开机自启动的方法

    nodejs项目windows下开机自启动的方法

    今天小编就为大家分享一篇nodejs项目windows下开机自启动的方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2017-11-11
  • Windows下安装NodeJS的详细步骤

    Windows下安装NodeJS的详细步骤

    这篇文章主要介绍了Windows下安装NodeJS,本文分步骤通过图文并茂的形式给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2022-08-08
  • Node.JS中快速扫描端口并发现局域网内的Web服务器地址(80)

    Node.JS中快速扫描端口并发现局域网内的Web服务器地址(80)

    在 Node.JS 中进行端口扫描还是比较方便的,一般会有广播和轮询两种方式。下文重点给大家介绍node.js 扫描端口并发现局域网内的web服务器地址的方法,一起看看吧
    2017-09-09
  • node.js操作MongoDB的实例详解

    node.js操作MongoDB的实例详解

    这篇文章主要介绍了node.js操作MongoDB的实例详解的相关资料,希望通过本能帮助到大家,让大家理解掌握这部分内容,需要的朋友可以参考下
    2017-10-10

最新评论