如何从 SVG 字符串中获取 SVGDocument 对象?

How to get SVGDocument object from an SVG string?

我想要一个 SVGDocument 对象填充到 JSVGCanvas 中,但是我只有一个没有任何文件的 SVG 字符串,所以我不能使用 URI 来构造。

您可以像这样从 StringReader 读取 SVG:

StringReader reader = new StringReader(svgString);
String uri = "file:make-something-up";
String parser = XMLResourceDescriptor.getXMLParserClassName();
SAXSVGDocumentFactory f = new SAXSVGDocumentFactory(parser);
SVGDocument doc = f.createSVGDocument(uri, reader);

您需要创建一个有效的 URI,但这并不重要,除非您对 SVG 中的其他 URI 进行相对引用。