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 求解 yolo算法问题
    • ¥15 虚拟机打包apk出现错误
    • ¥30 最小化遗憾贪心算法上界
    • ¥15 用visual studi code完成html页面
    • ¥15 聚类分析或者python进行数据分析
    • ¥15 三菱伺服电机按启动按钮有使能但不动作
    • ¥15 js,页面2返回页面1时定位进入的设备
    • ¥50 导入文件到网吧的电脑并且在重启之后不会被恢复
    • ¥15 (希望可以解决问题)ma和mb文件无法正常打开,打开后是空白,但是有正常内存占用,但可以在打开Maya应用程序后打开场景ma和mb格式。
    • ¥20 ML307A在使用AT命令连接EMQX平台的MQTT时被拒绝