nodejs简单操作xml
来源:互联网 发布:吃东西知乎 编辑:程序博客网 时间:2024/06/01 10:14
这里简单介绍一下nodejs的第三方模块xml2js、fast-xml-parser、xml2json操作xml
多的不说了,直接进入主题:
下面是我要操作的xml:
<?xml version="1.0" encoding="UTF-8"?><note><to>Tove</to><from>Jani</from><heading>Reminder</heading><body>Don't forget me this weekend!</body></note>
具体代码如下:
var xml2js = require('xml2js');var fs = require('fs');//创建builder的时候参数说明://rootName (default root or the root key name)//renderOpts (default { 'pretty': true, 'indent': ' ', 'newline': '\n' })//xmldec (default { 'version': '1.0', 'encoding': 'UTF-8', 'standalone': true }//headless (default: false)//cdata (default: false): wrap text nodes in <![CDATA[ ... ]]>var jsonBuilder = new xml2js.Builder({ rootName:'bean', xmldec:{ version:'1.0', 'encoding': 'GBK', 'standalone': false}}); // jons -> xmlvar xmlParser = new xml2js.Parser({explicitArray: false, ignoreAttrs: true}); // xml -> jsonvar json = { name: 'xxxxxx', pass: '111111', card: 5252452};function nameToUpperCase(name){ return name.toUpperCase();}// jons -> xmlvar json2xml = jsonBuilder.buildObject(json);console.log('json解析成xml:'+json2xml);// xml -> jsonfs.readFile('../public/test.xml','utf-8',function(err,result){ xmlParser.parseString(result, function (err, result) { console.log('xml解析成json:'+JSON.stringify(result)); });});
运行结果:
fast-xml-parser用法简介:
xml内容用上一个例子,
var fastXmlParser = require('fast-xml-parser');var fs = require('fs.js');//最简单的写法,直接调用parse方法fs.readFile('../public/test.xml','utf-8',function(err,result){ var jsonObj = fastXmlParser.parse(result); console.log('xml解析成json:'+JSON.stringify(jsonObj));});//当一个标签具有属性时var options = { attrPrefix : "@_", textNodeName : "#text", ignoreNonTextNodeAttr : true, ignoreTextNodeAttr : true, ignoreNameSpace : true, textNodeConversion : true};fs.readFile('../public/test.xml','utf-8',function(err,result){ if(fastXmlParser.validate(xmlData)=== true){//optional
var jsonObj = fastXmlParser.parse(result,options); console.log('xml解析成json:'+JSON.stringify(jsonObj)); }});//中间解析fs.readFile('../public/test.xml','utf-8',function(err,result){
var tObj = fastXmlParser.getTraversalObj(result,options); var jsonObj = fastXmlParser.convertToJson(tObj); console.log('xml解析成json:'+JSON.stringify(jsonObj));});
建议自己在本地测试一下。xml2json简单介绍:
var xml2json = require('xml2json');var fs = require('fs');//toJson第二个参数options如下:var options = { object: false, reversible: false, coerce: false, sanitize: true, trim: true, arrayNotation: false, alternateTextNode: false};fs.readFile('../public/test.xml','utf-8',function(err,result){ var xmltojsonobj = xml2json.toJson(result,options); console.log('xml解析成json:'+xmltojsonobj);});var json = { name: 'xxxxxx', pass: '111111', card: 5252452};var jsontoxmlobj = parser.toXml(json);console.log('json解析成xml:'+jsontoxmlobj);
关于操作nodejs操作xml的各个模块比较:
- xml-mapping : 速度快, 结果却不是那么令人满意,有瑕疵。
- xml2js : 速度快, 结果却不是那么令人满意,有瑕疵。
- xml2js-expat : 无法测试性能,因为它在高负载时出错。
- xml2json : 基于node-expat . 在travis上不能安装.
- fast-xml-parser : 非常非常快.
阅读全文
5 0
- nodejs简单操作xml
- 操作简单XML文件
- xml的简单操作
- C#简单操作XML
- XML简单操作(delphi)
- 简单的xml操作
- 简单XML读写操作
- 简单XML操作类
- XML的简单操作
- xml的简单操作
- 服务器端(NodeJS)使用jQuery选择器操作DOM(HTML/XML)
- Javascript 操作XML简单介绍
- JDOM操作XML简单示例
- 简单的XML文件操作
- C# XML 之简单操作
- 对xml的简单操作
- 简单C#操作XML例子
- JAVA 简单操作XML 写值读值
- SOJ 4190. Prime Palindromes solution
- 区间价值 HihoCoder
- 大数据可视决策的行业应用
- Redis.conf文件描述
- Ubuntu下利用pyenv管理各Python版本
- nodejs简单操作xml
- TCP协议——网络端口号、URG和PSH、定时器
- React Native 数据库链接测试代码
- R2 STM32基本定时器之中断笔记-TIM
- 单链表的逆置
- Git 的origin和master分析
- 深度学习工具1.4 Intel MKL或者BLAS安装
- VOC框图工具,自动生成需要的XML格式
- 黑盒测试方法三(因果图法)