2014-01-13 51 views
0

我试图使用PHP从XML填充HTML列表项。它目前只用于单个列表,但我无法找到从包含多个列表的XML中加载特定列表的方法。基于特定XML属性的PHP foreach循环

这是一个列表工作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> 

我还没有找到一种方法来运行foreach循环,即speci fic到列表属性。我已经搜索了很长时间如何做到这一点。我想我很想念,但我迷路了。或者可能有更好的方法来实现这一点。

编辑:我试着一次只加载其中一个列表。所以,有人会来到页面只寻找List One,而不想看到List Two。最终这个XML文件中会有很多列表。

谢谢!

+0

也许你能告诉你要如何生成的HTML看一个例子吗? – Phil

+0

@菲尔就像普通的

列表。虽然我对HTML部分没有问题,但是难以部分仅为其中一个列表运行foreach循环。谢谢 – andyarnold

回答

0

我希望这会有所帮助

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

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