Откройте файл drow io в mx Graph Editor

Как открыть XML-файл draw io в mxGraph? В MxGraph мы можем импортировать XML-файл, но структура XML-файла Draw и IO совершенно различна. Как я могу решить эту проблему?

1 ответ

Решение

Да, наконец-то я нашел способ, как открыть рисовать XML-файл в mxGraph. Перед открытием нам нужно конвертировать XML-файл draw io в xml-файл mxgraph. Здесь используется функция декодирования для преобразования XML-файла draw io в xml-файл mxgraph. Можно использовать этот метод декодирования внутри функции вызова xml.

Декодировать (данные) {

    function bytesToString(arr) {
        var str = "";
        for (var i = 0; i < arr.length; i++) {
            str += String.fromCharCode(arr[i]);
        }
        return str;
    }
    function parseXml(xml) {
        if (window.DOMParser) {
            var parser = new DOMParser();
            return parser.parseFromString(xml, "text/xml");
        } else {
            var result = createXmlDocument();
            result.async = "false";
            result.loadXML(xml);
            return result;
        }
    }
    function getTextContent(node) {
        return node != null
            ? node[node.textContent === undefined
                    ? "text"
                    : "textContent"]
            : "";
    }
    try {
        var node = parseXml(data).documentElement;
        if (node != null && node.nodeName === "mxfile") {
            var diagrams = node.getElementsByTagName("diagram");
            if (diagrams.length > 0) {
                data = getTextContent(diagrams[0]);
            }
            data = atob(data);
            data = bytesToString(Pako.inflateRaw(data));
            data = decodeURIComponent(data);
        }
    } catch (e) {
        return;
    }
    if (data.length > 0) {
        this.LoadGraph("", this.SelectGraphCell, data);
    }
Другие вопросы по тегам