xml — Работа с тире в RSS

Я довольно новичок в PHP, но я пытаюсь разобрать части RSS-канала для рендеринга в HTML. Проблема в том, что почти у каждого тега в ленте есть тире, и с этим трудно иметь дело. Я пытался сделать что-то вроде $ home -> {‘pub-code’} -> {‘ad-type’} и т. Д., Но это тоже не сработало. Что я имею до сих пор, так это следующее:

    foreach ( $topRSS->channel->item as $home )
{$returnValue .= "<li><span class=\"Title\">".$home->pub-code->ad-type->account-name."</span><br><a class=\"Link\" href=\"#\">".$home->pub-code->ad-type->ad-content."</a></li>";
$counter++;
if ($counter > 4)
break;
}

это попытка перебрать канал RSS с элементами, которые выглядят так:

 <item>
<pub-code>
<ad-type>
<cat-code>Jobs</cat-code>
<class-code/>
<ad-number>12345</ad-number>
<ad-number>12345</ad-number>
<start-date>03/14/2018</start-date>
<image><image/>
<account-number>12345</account-number>
<account-name>GENE BROWN</account-name>
<addr-1>12533 WALSINGHAM RD</addr-1>
<addr-2/>
<city>LARGO</city>
<state>FL</state>
<postal-code>33774</postal-code>
<ad-content> Content</ad-content>
</ad-type>
</pub-code>
</item>

Я уверен, что это простой синтаксис, но я не могу найти документацию по нему где-либо.

Любая помощь будет принята с благодарностью.

Спасибо!

-1

Решение

В соответствии с раздел основного использования для SimpleXML:

Доступ к элементам в документе XML, которые не содержат символов
разрешено в соответствии с соглашением об именах PHP (например, дефис) может быть
достигается путем включения имени элемента в фигурные скобки и
апостроф.

Пример № 3 Получение <line>

<?php include 'example.php';

$movies = new SimpleXMLElement($xmlstr);

echo $movies->movie->{'great-lines'}->line; ?>

Это зависит от PHP «переменные переменные» функциональность.

0

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector