PHP foreach循环基于特定的XML属性

时间:2014-01-13 05:26:39

标签: php xml foreach html-lists

我正在尝试使用PHP从XML填充HTML列表项。它目前只用于单个列表,但我找不到从包含多个列表的XML加载特定列表的方法。

这是单个列表的工作XML文件:

<?xml version="1.0" encoding="ISO-8859-1" ?>
<checklists>
  <list>
    <item>List Item 1</item>
    <item>List Item 2</item>
  </list>
</checklists>

这是适用于单个列表的php:

$xml=simplexml_load_file("checklists.xml");
foreach($xml->checklists->list->item as $value)
{
    echo "<li><a> " . $value . "</a></li>"; 
}

我希望在XML中使用属性格式化多个列表,例如:

<?xml version="1.0" encoding="ISO-8859-1" ?>
<checklists>
  <list name='List One'>
    <item>List Item 1</item>
    <item>List Item 2</item>
  </list>
  <list name='List Two'>
    <item>List Item 1</item>
    <item>List Item 2</item>
  </list>
</checklists>

我还没有找到一种方法来运行特定于list属性的foreach循环。我已经搜索了一段时间如何做到这一点。我想这很简单,我很想念,但我迷路了。或者可能有更好的方法来实现这一目标。

编辑:我尝试一次只加载其中一个列表。因此,有人会到页面只查找List One,不希望看到List Two。最终,这个XML文件中会有很多列表。

谢谢!

1 个答案:

答案 0 :(得分:0)

我希望它会有所帮助

<?php
$xml=simplexml_load_file("checklists.xml");

foreach($xml->list as $value)
{
    foreach($value->item as $val){
        echo "<li><a> " . $val . "</a></li>";
    }
}