У меня возникли проблемы с анализом этого фрагмента XML с использованием SimpleXML. Всегда есть только один элемент Series и переменное количество элементов Episode. Я хочу проанализировать XML, чтобы можно было хранить данные Серии в одной таблице, а все данные Эпизода - в другой таблице.
XML:
<Data>
<Series>
<id>80348</id>
<Genre>|Action and Adventure|Comedy|Drama|</Genre>
<IMDB_ID>tt0934814</IMDB_ID>
<SeriesID>68724</SeriesID>
<SeriesName>Chuck</SeriesName>
<banner>graphical/80348-g.jpg</banner>
</Series>
<Episode>
<id>935481</id>
<Director>Robert Duncan McNeill</Director>
<EpisodeName>Chuck Versus the Third Dimension 2D</EpisodeName>
<EpisodeNumber>1</EpisodeNumber>
<seasonid>27984</seasonid>
<seriesid>80348</seriesid>
</Episode>
<Episode>
<id>935483</id>
<Director>Robert Duncan McNeill</Director>
<EpisodeName>Buy More #15: Employee Health</EpisodeName>
<EpisodeNumber>2</EpisodeNumber>
<seasonid>27984</seasonid>
<seriesid>80348</seriesid>
</Episode>
</Data>
Когда я пытаюсь получить доступ только к первому элементу Series и дочерним узлам или перебираю только элементы Episode, это не работает. Я также пытался использовать DOMDocument с SimpleXML, но не смог заставить его работать вообще.
Код PHP:
<?php
if(file_exists('en.xml'))
{
$data = simplexml_load_file('en.xml');
foreach($data as $series)
{
echo 'id: <br />' . $series->id;
echo 'imdb: <br />' . $series->IMDB_ID;
}
}
?>
Выход:
id:80348
imdb:tt0934814
id:935481
imdb:
id:1534641
imdb: