2011-07-10 81 views
1

我在本地主機上有一個廣播電臺網站,這些網頁是一系列包含和要求的 - 它們運作良好。PHP SimpleXML回聲問題

但是,在一個頁面上,一個時間表一,我在DIV中顯示從SimpleXML文檔中提取的一些數據。

這是PHP文件的編碼:

 <div class="itemheading"><h1><span>Programme Guide</span></h1></div> 
     <div class="itembody"> 
      <div id="progdays"> 
         <ul> 
<li><a href="sunsch.php" title="Sunday">Sunday</a></li> 
<li class="currentday"><a href="monsch.php">Monday</a></li> 
<li><a href="tuesch.php" title="Tuesday">Tuesday</a></li> 
<li><a href="wedsch.php" title="Wednesday">Wednesday</a></li> 
<li><a href="thursch.php" title="Thursday">Thursday</a></li> 
<li><a href="frisch.php" title="Friday">Friday</a></li> 
<li><a href="satsch.php" title="Saturday">Saturday</a></li>            </ul> 
      </div> 
<?php 
require("monsch.php"); 
?> 
                  </div> 

這裏是monsch.php的內容:

 <?php 

// set name of XML file 
// normally this would come through GET 
// it's hard-wired here for simplicity 
$file = "monsched.xml"; 

// load file 
$xml = simplexml_load_file($file) or die ("Unable to load XML file!"); 
?> 

          <dl class="standard"> 
       <dt><a href="<?php echo $xml->link; ?>" title="<?php echo $xml->show; ?>"><?php echo $xml->showtime; ?> - <?php echo $xml->show; ?></a></dt> 
       <dd class="itemimg"><a href="<?php echo $xml->link; ?>" title="<?php echo $xml->show; ?>"><img src="<?php echo $xml->image; ?>" width="100" height="75" alt="<?php echo $xml->show; ?>" title="<?php echo $xml->show; ?>" /></a></dd> 
       <dd class="itemdesc"> 
<?php echo $xml->showinfo; ?> 
       </dd> 
       <dd class="itemlink"> 
        <a href="<?php echo $xml->link; ?>" title="<?php echo $xml->moreinfo; ?>"><span></span><?php echo $xml->moreinfo; ?></a> 
       </dd> 
       </dl> 

它的工作原理以及使用PHP的回聲()函數正確的,但如何將我得到XML文件以顯示多條記錄。

這裏的monsched.xml的XML內容:

<?xml version="1.0"?> 
<prog> 
    <link>presenter.php</link> 
    <show>Johnny Doe</show> 
    <image>johnny.jpg</image> 
    <showtime>00:00</showtime> 
    <showinfo> 
     John Doe through the night 
    </showinfo> 
    <moreinfo>More about the show</moreinfo> 
</prog> 

我跟着教程在http://devzone.zend.com/article/651(末尾的巴茲魯曼的例子是什麼,我試圖效仿)。和一切工作正常,除了一個問題....我怎麼讓PHP文件,使用SimpleXML,從XML文件中的多個記錄讀取。

如果我有很多節目,我將如何從XML文件中提取所有,如上面的格式。

這些是描述和圖片顯示:

01:00 Johnny Doe jdoe1.jpg 
John Doe at night 
06:00 Joe Smith smith1.jpg 
John Smith in the morning 
10:00 Mark Jones mj1.jpg 
Mark plays hits 
14:00 Matthew B 
Matthew B 
18:00 Non Stop Hits 
Non-stop 
20:00 Richard Roe 
Richard Roe at night 

所有幫助表示讚賞這一點,我是相當新的SimpleXML的,但試圖讓巴茲魯曼例如爲多個項目工作是棘手 - 任何人都能弄明白?

雖然本教程是有用的,但沒有回答我所有的問題。

回答

1

你需要把你的XML到一個foreach:

<?php 
foreach($xml as $attr) { 
    $attr->link; 
} 
?> 

不知道更多你的XML模式這就是所有我可以提供,但是這應該讓你的思維正確的道路。