Отсутствует разбор SimpleXML - PullRequest
0 голосов
/ 29 августа 2010
<?php
// load SimpleXML
$entry = new SimpleXMLElement('http://bit.ly/c3IqMF', null, true);

echo <<<EOF
<table>
        <tr>
                <th>Title</th>
                <th>Image</th>                
        </tr>

EOF;
foreach($entry as $item) // 
{
        echo <<<EOF
        <tr>
                <td>{$item->title}</td>
                <td><img src="{$item->children('im', true)->image}"></td>       
        </tr>

EOF;
}
echo '</table>';
?>

Приведенный выше php работает, но каким-то образом я получил 8 пустых табличных объектов выше результата

<tr>
            <td></td>
            <td><img src=""></td>       
    </tr>

Что не так с кодом?Как избавиться от пустых табличных сущностей?

Ответы [ 2 ]

2 голосов
/ 29 августа 2010

Теперь у вас получилось <id>, <title>, <updated> от начала xml.На самом деле вам нужны были все записи entry в xml.Так и должно быть $entry->entry

foreach($entry->entry as $item) // 
{
        echo <<<EOF
        <tr>
                <td>{$item->title}</td>
                <td><img src="{$item->children('im', true)->image}"></td>       
        </tr>

EOF;
}
0 голосов
/ 29 августа 2010

Честно говоря, я думаю, что вы подходите к этому неправильно. Поскольку кажется, что вы пытаетесь проанализировать фид Atom, попробуйте использовать что-то, предназначенное для этого, например Magpie RSS . Это, вероятно, сэкономит вам много времени.

...