如何将 xml 加载到 draw.io 图中?
How to load xml in to the draw.io diagram?
如何读取 xml 文件来绘制图形。
我下面的代码行用于像这样获取 XML 数据。我需要将所有 XML 数据输入 var doc object
以绘制图表中的形状
var doc = mxUtils.parseXml(STYLE_PATH+'/Test.xml');
完整代码如下:
mxUtils.getAll([bundle, STYLE_PATH + '/default.xml'], function (xhr) {
// Adds bundle text to resources
mxResources.parse(xhr[0].getText());
// Configures the default graph theme
var themes = new Object();
themes[Graph.prototype.defaultThemeName] = xhr[1].getDocumentElement();
// Main
new EditorUi(new Editor(urlParams['chrome'] == '0', themes));
var ui = new EditorUi(new Editor());
var doc = mxUtils.parseXml(STYLE_PATH+'/Test.xml');
ui.editor.setGraphXml(doc.documentElement);
},
function () {
document.body.innerHTML = '<center style="margin-top:10%;">Error loading resource files. Please check browser console.</center>';
});
mxUtils.parseXml() 希望您将 xml 字符串传递给它,而不是文件路径。因此,您必须将此文件加载到字符串并将其传递给 parseXml。
问题已解决,现在为我工作。
var ui = new EditorUi(new Editor());
var xml_file_path = STYLE_PATH + '/Test.xml';
var req = mxUtils.get(xml_file_path, mxUtils.bind(this, function (req) {
if (req.request.status >= 200 && req.request.status <= 299) {
if (req.request.response.length > 0) {
editorUi.editor.graph.model.beginUpdate();
try {
var xmlElem = mxUtils.parseXml(req.request.response).documentElement;
editorUi.editor.setGraphXml(xmlElem);
}
catch (e) {
console.error(e);
}
finally {
editorUi.editor.graph.model.endUpdate();
}
}
}
}));
如何读取 xml 文件来绘制图形。
我下面的代码行用于像这样获取 XML 数据。我需要将所有 XML 数据输入 var doc object
以绘制图表中的形状
var doc = mxUtils.parseXml(STYLE_PATH+'/Test.xml');
完整代码如下:
mxUtils.getAll([bundle, STYLE_PATH + '/default.xml'], function (xhr) {
// Adds bundle text to resources
mxResources.parse(xhr[0].getText());
// Configures the default graph theme
var themes = new Object();
themes[Graph.prototype.defaultThemeName] = xhr[1].getDocumentElement();
// Main
new EditorUi(new Editor(urlParams['chrome'] == '0', themes));
var ui = new EditorUi(new Editor());
var doc = mxUtils.parseXml(STYLE_PATH+'/Test.xml');
ui.editor.setGraphXml(doc.documentElement);
},
function () {
document.body.innerHTML = '<center style="margin-top:10%;">Error loading resource files. Please check browser console.</center>';
});
mxUtils.parseXml() 希望您将 xml 字符串传递给它,而不是文件路径。因此,您必须将此文件加载到字符串并将其传递给 parseXml。
问题已解决,现在为我工作。
var ui = new EditorUi(new Editor());
var xml_file_path = STYLE_PATH + '/Test.xml';
var req = mxUtils.get(xml_file_path, mxUtils.bind(this, function (req) {
if (req.request.status >= 200 && req.request.status <= 299) {
if (req.request.response.length > 0) {
editorUi.editor.graph.model.beginUpdate();
try {
var xmlElem = mxUtils.parseXml(req.request.response).documentElement;
editorUi.editor.setGraphXml(xmlElem);
}
catch (e) {
console.error(e);
}
finally {
editorUi.editor.graph.model.endUpdate();
}
}
}
}));