Node.js 使用Nodejs通过URL从.SVG文件获取SVG XML
我试图从外部托管的SVG获取XML数据字符串。我应该注意我使用的是Nodejs。我的目标是将.svg文件的内容嵌入如下字符串:Node.js 使用Nodejs通过URL从.SVG文件获取SVG XML,node.js,xml,svg,Node.js,Xml,Svg,我试图从外部托管的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(${sc
<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
`
采用这种方法的原因是svg是内联的,而不是通过URL引用。我想动态地嵌入svg文件的内容。该文件根据API请求进行更改,因此我不能仅打开svg文件并复制和粘贴内容。它需要以编程方式进行解析,以便通过URL提供的任何.svg文件都可以转换为内联svg
实现我的目标的最佳方法是什么?我建议使用http客户端,例如获取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变量。嘿,您的解决方案工作得非常好,只是想知道如何更改xml中的值?例如,查看框值。一旦收到svgXml,这可能吗?哦,是的,绝对可能。我建议为此使用XML解析器,例如:。您也可以在客户端执行此操作: