使用Nodejs通过URL从.SVG文件中获取SVG XML



我正试图从外部托管的SVG中获取XML数据字符串。我应该注意我使用的是Nodejs。我的目标是将.svg文件的内容嵌入到如下字符串中:

<svg xmlns="http://www.w3.org/2000/svg" version="1.1" width="100%" height="100%">
<g transform="translate(${x}, ${y}) scale(${scale})">
//INLINE SVG
</g>
</svg>`

这种方法的原因是svg是内联的,而不是通过URL引用。我想动态地嵌入svg文件的内容。文件基于API请求而更改,因此我不能只打开svg文件并复制和粘贴内容。它需要以编程方式进行解析,以便通过URL提供的任何.svg文件都能转换为内联svg。

实现我的目标的最佳方法是什么?

我建议使用http客户端,如axios来获取xml。

使用axios.get:非常简单

const axios = require("axios");
const url = "https://upload.wikimedia.org/wikipedia/commons/1/1a/SVG_example_markup_grid.svg";
async function downloadSvg(url) {
let response = await axios.get(url);
const svgXml = response.data;
console.log("Svg xml:", svgXml);
}
downloadSvg(url);

下载后,SVG xml将被分配给svgXml变量。

最新更新