首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >如何在Node.Js中从svg文件中读取svg路径字符串

如何在Node.Js中从svg文件中读取svg路径字符串
EN

Stack Overflow用户
提问于 2021-12-05 20:26:38
回答 1查看 683关注 0票数 3

我有一个应用程序,需要从svg文件解析svg路径字符串,该文件存储在Node.Js的文件系统中。我尝试过使用cheerio模块获取svg路径字符串,但是使用它我只得到了第一个路径字符串

代码语言:javascript
代码运行次数:0
运行
复制
    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字符串路径,我将不胜感激。

EN

回答 1

Stack Overflow用户

发布于 2022-07-24 11:56:45

在获得.each值之后,您可以使用$('path')获得这三种方法。

代码:

代码语言:javascript
代码运行次数:0
运行
复制
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);
});
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/70238255

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档