匹配xml中的类别和父类别

时间:2016-07-15 09:18:15

标签: php xml

我是新手在php中使用xml。我需要在我的xml文件中匹配类别和父类别。我无法弄清楚这是最好的方法。输出样式并不重要,我只需要将其视为基于文本的树视图或其他内容。

这是我的xml和输出的小例子:

<Categories><Category>
<Id>100</Id>
<Name>Cars</Name>
<ParentCategoryId>0</ParentCategoryId>
</Category>

<Category>
<Id>150</Id>
<Name>Ferrari</Name>
<ParentCategoryId>100</ParentCategoryId>
</Category>

<Category>
<Id>151</Id>
<Name>Ford</Name>
<ParentCategoryId>100</ParentCategoryId>
</Category>

<Category>
<Id>176</Id>
<Name>Mustang</Name>
<ParentCategoryId>151</ParentCategoryId>
</Category>


<Category>
<Id>177</Id>
<Name>Focus</Name>
<ParentCategoryId>151</ParentCategoryId>
</Category>


<Category>
<Id>101</Id>
<Name>Planes</Name>
<ParentCategoryId>0</ParentCategoryId>
</Category>

<Category>
<Id>188</Id>
<Name>Boeing</Name>
<ParentCategoryId<101</ParentCategoryId>
</Category>
</Categories>

输出(我需要的)

-Cars
--Ferrari
--Ford
---Mustang
---Focus
-Planes
--Boeing

任何想法都会有所帮助。提前谢谢。

1 个答案:

答案 0 :(得分:0)

您可以使用xml_parse_into_struct(http://php.net/manual/de/function.xml-parse-into-struct.php)将xml转换为基于密钥的数组。

然后使用foreach循环数组并通过过滤元素生成您需要的输出。