【发布时间】:2012-04-17 08:19:31
【问题描述】:
我有一个 XML 类,它读取 XML 文件并允许像这样访问它
<config>
<directory>
<mvc>
<model>model</model>
</mvc>
</directory>
</config>
echo $xml->config->directory->mvc->model
(假设对象已被传递给变量$xml)
输出
model
我想将每个父/子/值节点变成一个数组。所以
echo $xmlArr['config']['directory']['mvc']['model']
echo's model
我正在使用 foreach 循环设置,但后来意识到如果 XML 文件具有深层嵌套节点,那么我的 foreach 语句将只覆盖这么多层。 XML 文件是我无法解释的动态变量,需要一种动态方法才能递归地遍历节点并将它们作为数组索引附加。
【问题讨论】:
-
绝对可以将 XML 转换为数组,或者使用 PHP 中内置的一些 XML 库,或者仅使用递归循环。虽然有两个不完全匹配的问题。 1) 属性。您是否像其他库一样从元素中创建一个分支? 2)内联元素。在大多数 XML 中没有这么多,但在 HTML 中,您如何指示“此数组值中途有一个子数组”?