Javascript 在网页中显示分层xml数据

Javascript 在网页中显示分层xml数据,javascript,php,python,xml,web,Javascript,Php,Python,Xml,Web,我不知道这棵树有多深,但也不知道有多深。 谢谢。查找PHP函数,您可以使用它将这样的文件拆分为包含适当键的数组。手册中有你需要的所有信息和例子 或者。也很容易使用。您可以利用它支持标准的PHP递归迭代器树遍历 下面的示例确实输出了这个文本树,例如,它非常接近您在问题中概述的输出类型: |-途径:凋亡 |\-途径:细胞凋亡的外源性途径 |\-通路:死亡受体信号 |\-通路:FasL/CD95L信号传导 ||-反应:FASL结合FAS受体 ||-反应:FASL:FAS受体复合物的三聚化 ||-反应:

我不知道这棵树有多深,但也不知道有多深。 谢谢。

查找PHP函数,您可以使用它将这样的文件拆分为包含适当键的数组。手册中有你需要的所有信息和例子

或者。也很容易使用。

您可以利用它支持标准的PHP
递归迭代器
树遍历

下面的示例确实输出了这个文本树,例如,它非常接近您在问题中概述的输出类型:

|-途径:凋亡
|\-途径:细胞凋亡的外源性途径
|\-通路:死亡受体信号
|\-通路:FasL/CD95L信号传导
||-反应:FASL结合FAS受体
||-反应:FASL:FAS受体复合物的三聚化
||-反应:FasL:Fas结合FADD
||-反应:FASL:FAS受体三聚体:FADD复合物结合前半胱天冬酶-8
|\-反应:FASL:FAS受体三聚体:FADD复合物结合pro-Caspase-10
\-通路:信号通路
以下是代码的摘录:

-Apoptosis
--Extrinsic Pathway for Apoptosis
---Death Receptor  Signalling
----FasL/ CD95L signaling
-----FASL...
-----Trimerizaiton of the FASL....
.  .
.  .
.  .
-Signaling pathway

谢谢,这里是全新的。非常感谢您的回复。您是否有任何想法,例如,单击顶层,然后它将显示其所有子级。再次单击它,它将隐藏其所有子项。
-Apoptosis
--Extrinsic Pathway for Apoptosis
---Death Receptor  Signalling
----FasL/ CD95L signaling
-----FASL...
-----Trimerizaiton of the FASL....
.  .
.  .
.  .
-Signaling pathway
<?php
/**
 * Iterator Garden Example
 *
 * Display hierarchical xml data in web page
 *
 * @link http://stackoverflow.com/q/19485654/367456
 */

require __DIR__ . '/iterator_garden.php';

$file = __DIR__ . '/data.xml';
$xml  = file_get_contents($file);

$it  = new SimpleXMLIterator($xml);

$decor = new RecursiveDecoratingIterator($it, function($item) {
    return $item['displayName'] ?: $item['species'];
}, RecursiveDecoratingIterator::DECORATE_NODES);


$tree = new RecursiveTreeIterator($decor, RecursiveTreeIterator::BYPASS_CURRENT);

foreach($tree as $key => $item)
{
    echo $key, ': ', $item, "\n";
}