2011-11-15 96 views
1

我想用戶Ravis lib進行數據可視化,並且Ravis使用的XML文件的結構與我們公司中使用的不同。這些如下:玩XML文件的結構

Ravis XML結構:

<Family> 
<Node id="1" name="Father" desc="Head of the family" class="HOF"/> 
<Node id="2" name="Mother" desc="Wife of Father" class="firstLady"/> 
<Node id="3" name="Son" desc="Son" class="member"/> 
<Node id="4" name="Daughter" desc="Daughter" class="member"/> 
<Node id="5" name="Daughter In Law" desc="Wife of Son" class="extendedMember"/> 
<Node id="6" name="Grandson" desc="Child of Son" class="childMember"/> 
<Edge fromID="1" toID="2" name="married" edgeClass="marriage"/> 
<Edge fromID="1" toID="3" name="gave birth to" edgeClass="birth"/> 
<Edge fromID="2" toID="3" name="gave birth to" edgeClass="birth"/> 
<Edge fromID="1" toID="4" name="gave birth to" edgeClass="birth"/> 
<Edge fromID="2" toID="4" name="gave birth to" edgeClass="birth"/> 
<Edge fromID="3" toID="5" name="married" edgeClass="marriage"/> 
<Edge fromID="3" toID="6" name="gave birth to" edgeClass="birth"/> 
<Edge fromID="5" toID="6" name="gave birth to" edgeClass="birth"/> 
</Family> 

但我們按照結構

<Family> 
<Node> 
    <individual id="1" name="Father" desc="Head of the family" class="HOF"/> 
</Node> 
<Node> 
    <individual id="2" name="Mother" desc="Wife of Father" class="firstLady"/> 
</Node> 
<Node> 
    <individual id="3" name="Son" desc="Son" class="member"/> 
</Node> 
<Node> 
    <individual id="4" name="Daughter" desc="Daughter" class="member"/> 
</Node> 
<Node> 
    <individual id="5" name="Daughter In Law" desc="Wife of Son" class="extendedMember"/> 
</Node> 
<Node> 
    <individual id="6" name="Grandson" desc="Child of Son" class="childMember"/> 
</Node> 
<Edge> 
    <relation fromID="1" toID="2" name="married" edgeClass="marriage"/> 
</Edge> 
<Edge> 
    <relation fromID="1" toID="3" name="gave birth to" edgeClass="birth"/> 
</Edge> 
<Edge> 
    <relation fromID="2" toID="3" name="gave birth to" edgeClass="birth"/> 
</Edge> 
<Edge> 
    <relation fromID="1" toID="4" name="gave birth to" edgeClass="birth"/> 
</Edge> 
<Edge> 
    <relation fromID="2" toID="4" name="gave birth to" edgeClass="birth"/> 
</Edge> 
<Edge> 
    <relation fromID="3" toID="5" name="married" edgeClass="marriage"/> 
</Edge> 
<Edge> 
    <relation fromID="3" toID="6" name="gave birth to" edgeClass="birth"/> 
</Edge> 
<Edge> 
    <relation fromID="5" toID="6" name="gave birth to" edgeClass="birth"/> 
</Edge> 
</Family> 

現在我無法弄清楚如何從我們的XML文件中顯示的數據在圖上。我正在嘗試使用AS3和FLex 4來執行此操作。該代碼已經存在於Ravis社區中,但它不會以我想要的格式讀取XML文件。

任何幫助將不勝感激。

回答

0

XSLT可能是「快捷」的方式,因爲您不能只是改變您的公司結構。不過,從這裏可以知道你在哪裏/如何插入。

2

您可以使用e4x語法動態地解析您的XML,對不對?

 var to:XML = <Family/>; 

     for each (var ind:XML in from..individual) { 

      var indTo:XML = ind.copy(); 
      indTo.setName("Node"); 

      to.appendChild(indTo); 
     } 

     for each (var rel:XML in from..relation) { 

      var relTo:XML = rel.copy(); 
      relTo.setName("Edge"); 

      to.appendChild(relTo); 
     } 
+0

謝謝你們......我會研究這兩個選項,讓你知道我用了什麼。衷心感謝您的幫助。 – Gurjaspal