2014-01-13 48 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>"; 
    } 
}