Node.js中解析XML提取<request>标签内name与age数据的方法
在Node.js中解析XML并提取数据的方案
在Node.js里处理XML解析,最常用的是借助成熟的第三方库,我给你分享两个实用的方案,都能轻松实现你要的var name=john、var age=22的需求:
方案一:使用xml2js库
xml2js是社区里非常流行的XML解析库,支持回调和Promise两种方式,使用起来很灵活。
步骤1:安装依赖
首先在项目里安装xml2js:
npm install xml2js
步骤2:编写解析代码
const xml2js = require('xml2js'); const xmlString = '<request> <name>john</name> <age>22</age> </request>'; // 创建解析器实例,关闭自动转数组避免单个节点被包裹 const parser = new xml2js.Parser({ explicitArray: false }); // 回调风格解析 parser.parseString(xmlString, (err, result) => { if (err) { console.error('解析XML出错:', err); return; } // 提取数据并赋值 const name = result.request.name; const age = result.request.age; console.log(`var name=${name}`); // 输出: var name=john console.log(`var age=${age}`); // 输出: var age=22 }); // 如果你更习惯Promise风格,也可以这样写: // parser.parseStringPromise(xmlString) // .then(result => { // const name = result.request.name; // const age = result.request.age; // console.log(`var name=${name}`); // console.log(`var age=${age}`); // }) // .catch(err => console.error('解析出错:', err));
方案二:使用fast-xml-parser库
如果你追求更高的解析性能,fast-xml-parser是个不错的选择,它的速度比xml2js快很多,配置也简洁直观。
步骤1:安装依赖
npm install fast-xml-parser
步骤2:编写解析代码
const { XMLParser } = require('fast-xml-parser'); const xmlString = '<request> <name>john</name> <age>22</age> </request>'; // 配置解析选项,忽略属性并自动解析节点值 const options = { ignoreAttributes: true, parseNodeValue: true }; const parser = new XMLParser(options); const result = parser.parse(xmlString); // 提取数据赋值 const name = result.request.name; const age = result.request.age; console.log(`var name=${name}`); // 输出: var name=john console.log(`var age=${age}`); // 输出: var age=22
这两个方案都能完美满足你的需求,你可以根据项目的性能要求和个人习惯来选择~
内容的提问来源于stack exchange,提问作者Raslan Dyab
相关产品推荐
相关产品推荐

