doukun8670 2015-05-12 08:39
浏览 69

如何将此树数据结构转换为数组

I used this tree data structure. https://github.com/nicmart/Tree

and created a tree object from the following xml code which both are shown below:

<xgameapp version="1.0">
    <states>
        <state id="1" color="red"></state>
        <state id="2" color="blue">
            Hello state
        </state>
    </states>
    <actions>
        <transitions>
            <transition from="1" to="2">
                This is a demo Transition
            </transition>
            <transition from="2" to="1"></transition>
        </transitions>
        <Orientations>
            <x1>
                <y1>
                    <cw>
                        <Orientation fronAngle="120" toAngle="45"></Orientation>
                        <Orientation fronAngle="270" toAngle="120"></Orientation>
                    </cw>
                    <ccw>
                        <Orientation fronAngle="45" toAngle="120"></Orientation>
                        <Orientation fronAngle="120" toAngle="270"></Orientation>
                    </ccw>
                </y1>
            </x1>
        </Orientations>
    </actions>
</xgameapp>


Tree\Builder\NodeBuilder Object
(
    [nodeStack:Tree\Builder\NodeBuilder:private] => Array
        (
            [0] => Tree\Node\Node Object
                (
                    [value:Tree\Node\Node:private] => Array
                        (
                            [name] => xgameapp
                            [attributes] => Array
                                (
                                    [version] => 1.0
                                )

                        )

                    [parent:Tree\Node\Node:private] => 
                    [children:Tree\Node\Node:private] => Array
                        (
                            [0] => Tree\Node\Node Object
                                (
                                    [value:Tree\Node\Node:private] => Array
                                        (
                                            [name] => states
                                        )

                                    [parent:Tree\Node\Node:private] => Tree\Node\Node Object
 *RECURSION*
                                    [children:Tree\Node\Node:private] => Array
                                        (
                                            [0] => Tree\Node\Node Object
                                                (
                                                    [value:Tree\Node\Node:private] => Array
                                                        (
                                                            [name] => state
                                                            [attributes] => Array
                                                                (
                                                                    [id] => 1
                                                                    [color] => red
                                                                )

                                                        )

                                                    [parent:Tree\Node\Node:private] => Tree\Node\Node Object
 *RECURSION*
                                                    [children:Tree\Node\Node:private] => Array
                                                        (
                                                        )

                                                )

                                            [1] => Tree\Node\Node Object
                                                (
                                                    [value:Tree\Node\Node:private] => Array
                                                        (
                                                            [name] => state
                                                            [attributes] => Array
                                                                (
                                                                    [id] => 2
                                                                    [color] => blue
                                                                )

                                                            [value] => 
            Hello state

                                                        )

                                                    [parent:Tree\Node\Node:private] => Tree\Node\Node Object
 *RECURSION*
                                                    [children:Tree\Node\Node:private] => Array
                                                        (
                                                        )

                                                )

                                        )

                                )

                            [1] => Tree\Node\Node Object
                                (
                                    [value:Tree\Node\Node:private] => Array
                                        (
                                            [name] => actions
                                        )

                                    [parent:Tree\Node\Node:private] => Tree\Node\Node Object
 *RECURSION*
                                    [children:Tree\Node\Node:private] => Array
                                        (
                                            [0] => Tree\Node\Node Object
                                                (
                                                    [value:Tree\Node\Node:private] => Array
                                                        (
                                                            [name] => transitions
                                                        )

                                                    [parent:Tree\Node\Node:private] => Tree\Node\Node Object
 *RECURSION*
                                                    [children:Tree\Node\Node:private] => Array
                                                        (
                                                            [0] => Tree\Node\Node Object
                                                                (
                                                                    [value:Tree\Node\Node:private] => Array
                                                                        (
                                                                            [name] => transition
                                                                            [attributes] => Array
                                                                                (
                                                                                    [from] => 1
                                                                                    [to] => 2
                                                                                )

                                                                            [value] => 
                This is a demo Transition

                                                                        )

                                                                    [parent:Tree\Node\Node:private] => Tree\Node\Node Object
 *RECURSION*
                                                                    [children:Tree\Node\Node:private] => Array
                                                                        (
                                                                        )

                                                                )

                                                            [1] => Tree\Node\Node Object
                                                                (
                                                                    [value:Tree\Node\Node:private] => Array
                                                                        (
                                                                            [name] => transition
                                                                            [attributes] => Array
                                                                                (
                                                                                    [from] => 2
                                                                                    [to] => 1
                                                                                )

                                                                        )

                                                                    [parent:Tree\Node\Node:private] => Tree\Node\Node Object
 *RECURSION*
                                                                    [children:Tree\Node\Node:private] => Array
                                                                        (
                                                                        )

                                                                )

                                                        )

                                                )

                                            [1] => Tree\Node\Node Object
                                                (
                                                    [value:Tree\Node\Node:private] => Array
                                                        (
                                                            [name] => Orientations
                                                        )

                                                    [parent:Tree\Node\Node:private] => Tree\Node\Node Object
 *RECURSION*
                                                    [children:Tree\Node\Node:private] => Array
                                                        (
                                                            [0] => Tree\Node\Node Object
                                                                (
                                                                    [value:Tree\Node\Node:private] => Array
                                                                        (
                                                                            [name] => x1
                                                                        )

                                                                    [parent:Tree\Node\Node:private] => Tree\Node\Node Object
 *RECURSION*
                                                                    [children:Tree\Node\Node:private] => Array
                                                                        (
                                                                            [0] => Tree\Node\Node Object
                                                                                (
                                                                                    [value:Tree\Node\Node:private] => Array
                                                                                        (
                                                                                            [name] => y1
                                                                                        )

                                                                                    [parent:Tree\Node\Node:private] => Tree\Node\Node Object
 *RECURSION*
                                                                                    [children:Tree\Node\Node:private] => Array
                                                                                        (
                                                                                            [0] => Tree\Node\Node Object
                                                                                                (
                                                                                                    [value:Tree\Node\Node:private] => Array
                                                                                                        (
                                                                                                            [name] => cw
                                                                                                        )

                                                                                                    [parent:Tree\Node\Node:private] => Tree\Node\Node Object
 *RECURSION*
                                                                                                    [children:Tree\Node\Node:private] => Array
                                                                                                        (
                                                                                                            [0] => Tree\Node\Node Object
                                                                                                                (
                                                                                                                    [value:Tree\Node\Node:private] => Array
                                                                                                                        (
                                                                                                                            [name] => Orientation
                                                                                                                            [attributes] => Array
                                                                                                                                (
                                                                                                                                    [fronAngle] => 120
                                                                                                                                    [toAngle] => 45
                                                                                                                                )

                                                                                                                        )

                                                                                                                    [parent:Tree\Node\Node:private] => Tree\Node\Node Object
 *RECURSION*
                                                                                                                    [children:Tree\Node\Node:private] => Array
                                                                                                                        (
                                                                                                                        )

                                                                                                                )

                                                                                                            [1] => Tree\Node\Node Object
                                                                                                                (
                                                                                                                    [value:Tree\Node\Node:private] => Array
                                                                                                                        (
                                                                                                                            [name] => Orientation
                                                                                                                            [attributes] => Array
                                                                                                                                (
                                                                                                                                    [fronAngle] => 270
                                                                                                                                    [toAngle] => 120
                                                                                                                                )

                                                                                                                        )

                                                                                                                    [parent:Tree\Node\Node:private] => Tree\Node\Node Object
 *RECURSION*
                                                                                                                    [children:Tree\Node\Node:private] => Array
                                                                                                                        (
                                                                                                                        )

                                                                                                                )

                                                                                                        )

                                                                                                )

                                                                                            [1] => Tree\Node\Node Object
                                                                                                (
                                                                                                    [value:Tree\Node\Node:private] => Array
                                                                                                        (
                                                                                                            [name] => ccw
                                                                                                        )

                                                                                                    [parent:Tree\Node\Node:private] => Tree\Node\Node Object
 *RECURSION*
                                                                                                    [children:Tree\Node\Node:private] => Array
                                                                                                        (
                                                                                                            [0] => Tree\Node\Node Object
                                                                                                                (
                                                                                                                    [value:Tree\Node\Node:private] => Array
                                                                                                                        (
                                                                                                                            [name] => Orientation
                                                                                                                            [attributes] => Array
                                                                                                                                (
                                                                                                                                    [fronAngle] => 45
                                                                                                                                    [toAngle] => 120
                                                                                                                                )

                                                                                                                        )

                                                                                                                    [parent:Tree\Node\Node:private] => Tree\Node\Node Object
 *RECURSION*
                                                                                                                    [children:Tree\Node\Node:private] => Array
                                                                                                                        (
                                                                                                                        )

                                                                                                                )

                                                                                                            [1] => Tree\Node\Node Object
                                                                                                                (
                                                                                                                    [value:Tree\Node\Node:private] => Array
                                                                                                                        (
                                                                                                                            [name] => Orientation
                                                                                                                            [attributes] => Array
                                                                                                                                (
                                                                                                                                    [fronAngle] => 120
                                                                                                                                    [toAngle] => 270
                                                                                                                                )

                                                                                                                        )

                                                                                                                    [parent:Tree\Node\Node:private] => Tree\Node\Node Object
 *RECURSION*
                                                                                                                    [children:Tree\Node\Node:private] => Array
                                                                                                                        (
                                                                                                                        )

                                                                                                                )

                                                                                                        )

                                                                                                )

                                                                                        )

                                                                                )

                                                                        )

                                                                )

                                                        )

                                                )

                                        )

                                )

                        )

                )

        )

)

Now I'm trying to represent this output as a nested array or any way that is friendly to the human eye.

Thanks.

  • 写回答

0条回答 默认 最新

    报告相同问题?

    悬赏问题

    • ¥15 BP神经网络控制倒立摆
    • ¥20 要这个数学建模编程的代码 并且能完整允许出来结果 完整的过程和数据的结果
    • ¥15 html5+css和javascript有人可以帮吗?图片要怎么插入代码里面啊
    • ¥30 Unity接入微信SDK 无法开启摄像头
    • ¥20 有偿 写代码 要用特定的软件anaconda 里的jvpyter 用python3写
    • ¥20 cad图纸,chx-3六轴码垛机器人
    • ¥15 移动摄像头专网需要解vlan
    • ¥20 access多表提取相同字段数据并合并
    • ¥20 基于MSP430f5529的MPU6050驱动,求出欧拉角
    • ¥20 Java-Oj-桌布的计算