Играть со структурой файла XML - PullRequest
1 голос
/ 15 ноября 2011

Я пытаюсь использовать Ravis lib для визуализации данных, и структура XML-файла, который использует Ravis, отличается от того, что мы используем в нашей компании.Они следующие:

Структура 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 в том формате, в котором я хочу его восстановить.

Любая помощь будет принята с благодарностью.

Ответы [ 2 ]

2 голосов
/ 15 ноября 2011

Вы могли бы динамически анализировать ваш XML, используя синтаксис e4x, не так ли?

        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 голосов
/ 15 ноября 2011

XSLT, вероятно, является «быстрым» способом, поскольку вы не можете просто изменить структуру своей компании. Хотя я не могу сказать, где и как вы его вставите.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...