在Cytoscape中,可以使用XML作为输入并将该XML解析为dagre布局吗?我浏览了documentation,但似乎找不到任何有关XML导入的信息。
我能想到的一种可能性是将XML解析为JSON并将其用作输入,但我不确定XML的属性会发生什么情况。他们迷路了吗?如何通过生成的节点(在DOM中,或通过JavaScript (或jQuery))访问它们?
发布于 2016-09-01 22:00:59
您可以创建一个将XML代码序列化为JSON的函数。我已经使用XMLWriter完成了您正在寻找的逆操作(将图形转换为XML代码)。
function createXmlCode() {
var xw = new XMLWriter();
xw.formatting = 'indented'; //add indentation and newlines
xw.indentChar = ' '; //indent with spaces
xw.indentation = 4; //add 2 spaces per level
xw.writeStartDocument();
xw.writeStartElement('root');
//go on, make some for each like
//$.each(cy.$('node'), function(k, v) { ... }
//$.each(cy.$('edge'), function(k, v) { ... }
xw.writeEndElement();
var output = xw.flush();
xw.close();
return output;
}反之亦然。我把它变成了双向的,但只针对JSON。我使用:
cy.add(JSON.parse("[" + $("#json").text() + "]"));因此,我可以直接将名为#json的文本框中的JSON输入解析为#cy。
希望这能有所帮助。
https://stackoverflow.com/questions/39248100
复制相似问题