Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/csharp-4.0/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Node.js 使用Nodejs通过URL从.SVG文件获取SVG XML_Node.js_Xml_Svg - Fatal编程技术网

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

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获取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
`
采用这种方法的原因是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解析器,例如:。您也可以在客户端执行此操作: