我在 InkScape 之类的程序中创建了一个 SVG 文件。我想在 Javascript 中加载它并将其与其他 SVG 元素一起放入 SVG 对象中。
我想要一个可以传递 URL 的函数,它将获取该 SVG,然后返回一个“g”对象,该对象对我加载的 SVG 文件中的所有内容进行分组。
SVG.LoadXML = function (url, continuation) {
var http = new XMLHttpRequest();
http.open("GET", url, false);
http.send();
textBody = http.responseText;
var g = document.createElementNS(SVG.ns, "g");
g.innerHTML = textBody;
return g;
}
正在加载的文件正文如下所示:
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE svg PUBLIC [...] >
<svg version="1.1" [...] >
<g>
<defs>
<path id="SVG1ID_1_" [...]
etc.
所以,我想我想要做的是以 XML 格式打开文件,然后跳过前两个节点,输入第二个节点,然后将其中的所有节点复制到文档中的 SVG 中。
这似乎是一种应该非常简单的事情,并且已经被几千人以几种不同的方式实现了。