PHP SimpleXML回声问题
问题描述:
我在本地主机上有一个广播电台网站,这些网页是一系列包含和要求的 - 它们运作良好。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的,但试图让巴兹鲁曼例如为多个项目工作是棘手 - 任何人都能弄明白?
虽然本教程是有用的,但没有回答我所有的问题。
答
你需要把你的XML到一个foreach:
<?php
foreach($xml as $attr) {
$attr->link;
}
?>
不知道更多你的XML模式这就是所有我可以提供,但是这应该让你的思维正确的道路。