在 mxGraph javascript 中将 XML 转换为 SVG

Converting XML to SVG in mxGraph javascript

我正在尝试使用 JavaScript 将 mxGraph 的 XML 图形转换为 SVG。有了 XML 字符串,我需要将其解析为 SVG,以便进一步分发到 html。 This post shows exactly what I need to do with the solution implemented in Java。我可以将 XML 解析为图形,但无法将图形渲染为 SVG,似乎找不到与 mxCellRenderer.js.

中的 drawCells() 方法等效的方法

是否有人可以仅使用 JavaScript(可用的 mxGraph 库)帮助将 XML 转换为 SVG?

在 mxGraph 的图形编辑器示例中搜索 setGraphXml 函数(在 Editor.js 中)

这将读取 xml 并将其呈现在图表上

对我有用的解决方案:

data - 表示 mxGraphModel XML

var doc = mxUtils.parseXml(data); // parse XML into document
var graph = new Graph(container, null, null, null, null); // create Graph instance, container is an HTML element where the SVG will be exported
var outputSvg = graph.getSvg("#FFFFFF", 1, null, null, true, null, null);

最终输出是可以包含在 HTML 文档中的 SVG 对象:

document.getElementById('divForSvg').appendChild(outputSvg );

检查 Graph.js 其 getSvg() 方法以了解详细信息。