PHP输出xml数据
我制作了一个从数据库获取数据的外观时间表。但在我的例子中,我将数据直接带到文件data*.xml 或者换句话说,我做定期数据收集的计划。 但这导致了我显示的数据不是动态的。因为它只能读取文件*。用xml表示它。我想在php和xml数据输出中创建一个函数,如下所示:PHP输出xml数据,php,html,xml,xml-parsing,Php,Html,Xml,Xml Parsing,我制作了一个从数据库获取数据的外观时间表。但在我的例子中,我将数据直接带到文件data*.xml 或者换句话说,我做定期数据收集的计划。 但这导致了我显示的数据不是动态的。因为它只能读取文件*。用xml表示它。我想在php和xml数据输出中创建一个函数,如下所示: <?php header("Content-type: text/xml"); $dbhost = "localhost"; $dbuser = "user"; $dbpass = "pass"; $dbname = "my_e
<?php
header("Content-type: text/xml");
$dbhost = "localhost";
$dbuser = "user";
$dbpass = "pass";
$dbname = "my_epg";
mysql_connect($dbhost,$dbuser,$dbpass);
mysql_select_db($dbname);
include "Encoding.php";
date_default_timezone_set("Asia/Jakarta");
$DataTanggal = strip_tags(date("l, jS, F Y"));
sql = "select distinct(channel_name) FROM epg";
$q = mysql_query($sql) or die(mysql_error());
$xml = "<timetable start='00:00' end='24:00' title='".$DataTanggal."'>";
while($r = mysql_fetch_array($q)){
$CN = htmlspecialchars(strip_tags($r['channel_name']));
$xml .= "<location name='".$CN."'>";
$sql2 = "select * FROM epg where channel_name='".$CN."'";
$q2 = mysql_query($sql2) or die(mysql_error());
while($r2 = mysql_fetch_array($q2)){
$Mulai = htmlspecialchars(strip_tags(date('H:i', strtotime($r2['waktu_mulai']))));
$Selesai = htmlspecialchars(strip_tags(date('H:i', strtotime($r2['waktu_akhir']))));
$Title = htmlspecialchars(strip_tags($r2['judul']));
$Desk = htmlspecialchars(strip_tags($r2['sinopsis']));
$Encoding1 = Encoding::fixUTF8($TitleValid);
$Encoding2 = Encoding::fixUTF8($DeskValid);
$xml .= "<event start='".$MulaiValid."' end='".$SelesaiValid."'>";
$xml .= "<title>".$Encoding1."</title>";
$xml .= "<description>".$Encoding2."</description>";
$xml .= "</event>";
}
$xml .= "</location>";
}
$xml .= "</timetable>";
echo $xml;
?>
在Dinamic PHP文件的末尾,您可以使用以下命令将文件保存为生成的XML:
$file = fopen("generated.xml","w");
fwrite($file, $xml);
fclose($file);
然后,在函数createTimeline中加载保存的XML文件。-并使该函数允许接受http(s)/ftp旁边的数据://
URI。-还有。
$file = fopen("generated.xml","w");
fwrite($file, $xml);
fclose($file);