You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

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

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.14 09:13:08