It`s my code which allows to display xml files in browser after click.I want to display each xml file in table by using php. Can someone tell me how can I do that?
<div id="demo"></div>
<input type="submit" value="pass" onclick = "loadXMLDoc('a.xml')">
<input type="submit" value="pass" onclick = "loadXMLDoc('b.xml')">
<script>
function loadXMLDoc(a) {
var xmlhttp = new XMLHttpRequest();
xmlhttp.onreadystatechange = function() {
if (this.readyState == 4 && this.status == 200) {
document.getElementById("demo").innerHTML=this.responseText;
}
}
xmlhttp.open("GET", a, true);
xmlhttp.send();
}
</script>
xml file
<?xml version='1.0'?>
<plan>
<day>
<dayname>Monday</dayname>
<class>
<startat>8:00</startat>
<endat>10:00</endat>
<subject>xxx</subject>
</class>
<class>
<startat>12:00</startat>
<endat>13:30</endat>
<subject>xxx</subject>
</class>
</day>
<day>
<dayname>Tuesday</dayname>
<class>
<startat>10:00</startat>
<endat>11:30</endat>
<subject>xxx</subject>
</class>
<class>
<startat>14:00</startat>
<endat>15:30</endat>
<subject>xxx</subject>
</class>
</day>
</plan>
It`s timetable. I want to display days next to each other. "dayname" should be in th.
Something like that?
<?php
$xml = simplexml_load_string($xmlstring, "SimpleXMLElement", LIBXML_NOCDATA);
$json = json_encode($xml);
$array = json_decode($json,TRUE);
for ($i=0;$i<$array;$i++) {
?>
<table><tr>
<?php
foreach ($xml->day as $day) {
echo '<th>' . $day->dayname . '</th>';
foreach ($day->class as $val) {
echo '<tr><td>'.$val->startat.'</td></tr>';
echo '<tr><td>'.$val->endtat.'</td></tr>';
echo '<tr><td>'.$val->subject.'</td></tr>';
}
}
}
?>
</tr>
</table>