我有一個使用SimpleXML來返回節點的第一級在一個XML文件,並將其寫入一個無序列表的功能:PHP:通過一個XML文件的各級使用SimpleXML循環
function printAssetMap() {
$xml = simplexml_load_file(X_ASSETS);
$assets = $xml->asset;
$html = '<ul>'."\n";
foreach ($assets as $asset) {
$html .= '<li id="asset'.$asset->asset_assetid.'"><ins> </ins><a href="#">'.$asset->asset_name.' ['.$asset->asset_assetid.']</a></li>'."\n";
}//end foreach
$html .= '</ul>'."\n";
return $html;
}// printAssetMap()
XML我使用的,具有嵌套節點:
<?xml version="1.0"?>
<assets>
<asset>
<asset_name>Home</asset_name>
<asset_url>/home</asset_url>
<asset_assetid>1</asset_assetid>
</asset>
<asset>
<asset_name>Projects</asset_name>
<asset_url>/projects</asset_url>
<asset_assetid>2</asset_assetid>
<asset>
<asset_name>Portfolio</asset_name>
<asset_url>/projects/portfolio</asset_url>
<asset_assetid>3</asset_assetid>
</asset>
<asset>
<asset_name>Current Jobs</asset_name>
<asset_url>/projects/current-jobs</asset_url>
<asset_assetid>4</asset_assetid>
</asset>
</asset>
</assets>
現在,我開始補充說,我目前返回節點的子節點。有沒有辦法循環訪問xml文件中的所有級別的子節點,即使我不知道有多少級別,並將它們添加到我的列表中?
一些示例XML請。 – 2010-01-24 22:55:07
使用XML更新後。 – 2010-01-24 23:00:43