我有一个应用程序,需要从svg文件解析svg路径字符串,该文件存储在Node.Js的文件系统中。我尝试过使用cheerio模块获取svg路径字符串,但是使用它我只得到了第一个路径字符串
const path_to_svg = __dirname + '/documents/' + 'potpis.svg';
let $;
fs.readFile(path_to_svg,'utf8',(err,data)=>{
if(err) console.log(err);
$ = cheerio.load(data,{ xmlMode : true });
});
const svgPath = $('path').attr('d');
但是我的svg文件有三条路径
为了完成获取整个svg字符串路径的任务,需要抓取整个svg字符串路径。如果有人有任何解决方案让我从Node.Js中的svg文件中解析svg字符串路径,我将不胜感激。
发布于 2022-07-24 11:56:45
在获得.each
值之后,您可以使用$('path')
获得这三种方法。
代码:
const fs = require("fs");
const cheerio = require("cheerio");
const path_to_svg = __dirname + "/documents/" + "potpis.svg";
let $;
const pathStringsArray = [];
fs.readFile(path_to_svg, "utf8", (err, data) => {
if (err) console.log(err);
$ = cheerio.load(data, { xmlMode: true });
const pathSet = $("path");
pathSet.each(function () {//<------Get all paths here like a 'for each' loop
const d = $(this).attr("d");//"d" attribute for current path in the loop
pathStringsArray.push(d);
});
//you can now use your array of path strings
console.log(pathStringsArray);
});
https://stackoverflow.com/questions/70238255
复制相似问题