2013-06-28 104 views
0

我用解析XML與simplexml_load_file方法時有問題。我有這樣的XML:簡單的XML加載文件與PHP

<root> 
    <show> 
     <list> 
      <entry name="this is title" code="1234"> 
       <infos count="4"> 
        <info type="random" percent="10" /> 
        <info type="random" percent="12" /> 
        <info type="random" percent="13" /> 
        <info type="random" percent="15" /> 
       </infos> 
      </entry> 
      <entry name="this is titles" code="1235"> 
       <infos count="4"> 
        <info type="random" percent="14" /> 
        <info type="random" percent="16" /> 
        <info type="random" percent="17" /> 
        <info type="random" percent="18" /> 
       </infos> 
      </entry> 
     </list> 
    </show> 
</root> 

而我試着解析simplexml_load_file,但我只是得到一個結果。我的意思是不是兩個入口。看下面的代碼。

<?php 
$url = "text.xml"; 

$xml = simplexml_load_file($url); 

foreach ($xml->show->list as $entry) { 
$name = $entry->entry['name']; 
$code = $entry->entry['code']; 

echo "<p>The List Name: ".$name."</p>"; 
echo "<p>Code:".$code."</p>"; 
} 
?> 

好的,我嘗試使用該代碼,我只得到一個結果。我不知道如何循環。所以,我試圖在這個網站問。

  1. 如何循環結果與xml完全一樣。
  2. 解析XML與

感謝大家誰可以給他們的手:d

回答

2
foreach ($xml->list->enrty as $entry) { 
    $name = $entry->entry['name']; 
    $code = $entry->entry['code']; 

    echo "<p>The List Name: ".$name."</p>"; 
    echo "<p>Code:".$code."</p>"; 
} 

應該

foreach ($xml->show->list->entry as $entry) { 
    $name = $entry->attributes()->name; 
    $code = $entry->attributes()->code; 
    //or like this 
    //$name = $entry["name"]; 
    //$name = $entry["code"]; 
    echo "<p>The List Name: ".$name."</p>"; 
    echo "<p>Code:".$code."</p>"; 
} 
+0

感謝,我有編輯它 – thefalasifas

+0

所以它現在的工作? – Timmetje

+0

是的,這是工作,但只顯示一個條目。如何顯示其餘所有條目? – thefalasifas