【问题标题】:How to deal with xml file in next js?下一个js如何处理xml文件?
【发布时间】:2023-02-11 04:37:55
【问题描述】:
我试图在创建响应以将其返回给用户之前将 xml 文件转换为 json。
我收到此错误消息:
您可能需要一个合适的加载器来处理这种文件类型,目前没有配置加载器来处理这种文件。见https://webpack.js.org/concepts#loaders
有人可以指出正确的方向并告诉我如何在下一个配置中设置此加载程序(如果需要这样做的话)吗?
import xml2js from 'xml2js'
import {listing} from '../../listing.xml'
let parser = new xml2js.Parser()
const data = () => parser.parseString(listing, function (err,result) {
return result
})
console.log(data)
export default function handler(req, res) {
res.status(200).send(JSON.stringify(data,null, 2))
}
【问题讨论】:
标签:
reactjs
next.js
vercel
【解决方案1】:
由于您使用的是 API Route,这些将在服务器端处理,这意味着您可以使用 Node API 读取文件并使用 xml2js 库进行解析
const parseString = require('xml2js').parseString;
const fs = require('fs');
const path = require('path');
export default (req, res) => {
const data = fs.readFileSync(path.join(process.cwd(), 'note.xml'));
parseString(data, function (err, result) {
console.log(result);
res.status(200).json({ result });
});
};
https://nextjs-gkkygf--3000.local.webcontainer.io/api/xml
Full Stackblitz example