我正在使用foreach从xml文件中提取信息,并且一切都很好。当我尝试执行嵌套的foreach来使子级实例进一步向下时,我只会得到第一个实例。在这种情况下,这是我要列出的“时间”节点,但是正如我所说的,我得到的只是:
电影一 2019-02-10T14:30:00
我想列出电影一的所有内容。
这是xml的示例。
<Events>
<Event>
<Name>Movie One</Name>
<Times>
<EventTime>
<Time>2019-02-10T14:30:00</Time>
<Capacity>100</Capacity>
</EventTime>
</Times>
<Times>
<EventTime>
<Time>2019-03-10T18:30:00</Time>
<Capacity>100</Capacity>
</EventTime>
</Times>
<Times>
<EventTime>
<Time>2019-03-10T18:30:00</Time>
<Capacity>100</Capacity>
</EventTime>
</Times>
</Event>
</Events>
这是我在PHP中尝试的方法。
<?php
$xml=simplexml_load_file("myfile.xml") or die("Error: Not Working");
foreach($xml->children() as $cinemalist) {
echo '<p>Event Name: ' . $cinemalist->Name . " </p> ";
foreach($cinemalist->Times->children() as $alltimes) {
$showtimes = $alltimes->EventTime->Time;
echo '<span>' . $showtimes . " </span> ";
}
}
?>
已修复:在嵌套的foreach中添加了“时间”节点,现在可以使用... foreach($ cinemalist-> 时间-> children()为$ alltimes)
答案 0 :(得分:0)
已修复:在嵌套的foreach中添加了“ Times”节点,现在可以使用... foreach($ cinemalist-> Times-> children()as $ alltimes)
我的最初XML不正确,@ splash58在他的正确演示中使用了。