2016-08-31 121 views
1

Cytoscape可以使用XML作爲輸入並將XML解析爲dagre佈局嗎?我已經瀏覽了documentation,但我似乎無法找到關於XML導入的任何信息。Cytoscape:將XML轉換爲dagre佈局

我能想到的一種可能性是將XML解析爲JSON並將其用作輸入,但我不確定XML的屬性會發生什麼。他們是否輸了?它們是如何通過生成的節點訪問的(在DOM中,還是通過JavaScript(或jQuery))?

回答

0

您可以創建一個將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到#cy文本框中輸入JSON。

希望這會有所幫助。