首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何将xml加载到draw.io图中?

如何将xml加载到draw.io图中?
EN

Stack Overflow用户
提问于 2019-06-13 12:10:19
回答 2查看 913关注 0票数 0

如何读取xml文件来绘制图形。

下面是获取XML数据的代码行,如下所示。我需要将所有XML数据输入到var doc object中,以便在图表中绘制形状。

var doc = mxUtils.parseXml(STYLE_PATH+'/Test.xml');

完整代码如下:

代码语言:javascript
运行
复制
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>';
                    });
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2019-06-13 18:08:43

解决了这个问题,现在为我工作。

代码语言:javascript
运行
复制
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();
                        }
                    }
                }
            }));
票数 0
EN

Stack Overflow用户

发布于 2019-06-13 15:30:31

mxUtils.parseXml()期望您将xml传递给它,而不是传递到文件的路径。因此,您必须加载该文件以字符串,并将其传递给parseXml。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56580182

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档