node.js解析xml(xmlreader)
来源:互联网 发布:网络兼职论坛发帖 编辑:程序博客网 时间:2024/05/16 06:16
博客搬家:由于各种原因,我现在的博客将首发于blog.mojijs.com, 可以百度搜索 “姜哥的墨迹技术博客” , 或者 点击这里 本文地址 http://blog.mojijs.com/post/19.html
xml作为一种重要的数据交换格式,我就不相信没人用node.js解析过它。我就随便搜索了一下,果然很多,什么把xml转成json啊,等等吧。我看了下,xmlreader这个模块比较简单,功能上满足我的需求。
使用方法简介如下:
1、安装。npm install xmlreader
2、使用。看代码
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:获取节点内的文本,仅当前节点的文本,不包含子节点的文本。
- node.js解析xml(xmlreader)
- node.js 解析xml BOM问题(xmlreader sax.js)
- iOS_解析XML :KissXML、XmlReader
- Silverlight中XmlReader解析XML的流程
- XMLReader强大的XML解析器
- 使用XMLReader接口解析XML-个人记录
- node.js xmlreader无法获取CDATA区问题修复
- iOS_解析XML(很实用的两框架:KissXML、XmlReader)
- 如何正确运用PHP XMLReader解析XML文档
- 使用NSXMLParser解析XML -- XMLReader、XMLWriter
- XmlReader读取、显示.xml
- 使用XmlReader读Xml
- 用XmlReader 读取XML
- xml学习之 XmlReader
- 使用XmlReader读Xml
- XmlReader读取XML
- 使用XmlReader读Xml
- Xml读取器XmlReader类
- Java学习笔记之final 关键字和抽象类
- access实现limit分页
- 在Struts2中使用ValueStack、ActionContext、ServletContext、request、session等 .
- QT学习(四)----360界面制作(1)
- java中操作Date
- node.js解析xml(xmlreader)
- C/C++中Sqlite使用简介
- Debug手机出现Android Unable to open sync connection!
- VS工程属性配置 /MDd /MLd /MTd
- 《Effective C++》之请记住
- java xml
- 字符串转整数程序优化。
- 跟踪手指在屏幕上的位置生成音频样本并播放
- 【转】Android设计模式的运用。。。