【发布时间】:2017-05-16 08:29:42
【问题描述】:
我有包含文章信息的 XML 文档,它们有一种层次结构:
<?xml version="1.0" encoding="UTF-8"?>
<page>
<elements>
<element>
<type>article</type>
<id>1</id>
<parentContainerID>page</parentContainerID>
<parentContainerType>page</parentContainerType>
</element>
<element>
<type>article</type>
<id>2</id>
<parentContainerID>1</parentContainerID>
<parentContainerType>article</parentContainerType>
</element>
<element>
<type>photo</type>
<id>3</id>
<parentContainerID>2</parentContainerID>
<parentContainerType>article</parentContainerType>
</element>
<... more elements ..>
</elements>
</page>
该元素具有节点 parentContainerID 和节点 parentContainerType。如果 parentContainerType == page,这是主元素。 parentContainerID 显示元素的主容器是什么。所以它应该看起来像:1
现在我需要为这些东西构建一个新页面 (html),如下所示: ID 1 的内容,ID 2 的内容,ID 3 的内容(ID 没有进行中)。
我想这可以通过递归函数来完成。但我不知道如何管理?
【问题讨论】:
-
“现在我需要为这些东西构建一个新页面 (html),如下所示:ID 1 的内容、ID 2 的内容、ID 3 的内容” – 只是顺序的 – 还是嵌套的,根据 XML 定义的父/子关系?如果没有嵌套,为什么要在这里使用递归——XML 中的元素也没有嵌套,它们都在同一级别。我可能只是先把这些东西读入一个数组,然后对它进行相应的排序......然后循环它以生成想要的输出。
-
CBroe,根据父子关系。
标签: php xml recursion xml-parsing domdocument