Модераторы: Aliance, skyboy, MoLeX, ksnk
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Прочитать тэг <content:encoded> 
:(
    Опции темы
KaKTyCc
Дата 4.7.2009, 13:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 247
Регистрация: 2.8.2005

Репутация: нет
Всего: 1



Всем привет!

Есть xml с тэгом <content:encoded>
Как прочитать его содержимое? Использую библиотеку SimpleXMLElement.
Обычные тэги читаются без проблем...

Код

    $xml = simplexml_load_file($filename);    
    foreach ($xml->channel->item as $item) {
        $title = $item->title; 
        $link = $item->link;
        $description = $item->description;
        $tag = $item->category;
}


И вопрос связанный с $item->category;
такая конструкция читает только первый тэг, а у меня может быть их несколько в рамках одного item 
<category><![CDATA[охота]]></category>
<category><![CDATA[ров]]></category>
<category><![CDATA[рог]]></category>
<category><![CDATA[север]]></category>
<category><![CDATA[транспорт]]></category

надо все это хозяйство в один массив $tag засунуть
--------------------
Мой блог
PM MAIL WWW   Вверх
KaKTyCc
Дата 4.7.2009, 14:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 247
Регистрация: 2.8.2005

Репутация: нет
Всего: 1



Немного продвинулся  smile 

Код

foreach ($xml->channel->item as $item) {
        $title = $item->title;
        $para = $item->para;
        $a = $item->xpath('//content:encoded');
        print_r($a);
}



собственно два раза выводит массив всех <content:encoded>.
А надо чтобы при каждом проходе цикла выводил <content:encoded>  для своего item 

--------------------
Мой блог
PM MAIL WWW   Вверх
KaKTyCc
Дата 4.7.2009, 15:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 247
Регистрация: 2.8.2005

Репутация: нет
Всего: 1



Первую проблему решил так

Код

    $i = 1;
    foreach ($xml->channel->item as $item) {
        $title = $item->title;
        $link = $item->link;
        $description = $item->description;
        $fullDescription = $xml->xpath("//item[{$i}]/content:encoded");
        
        if(!empty($fullDescription[0][0])){
            $description = $fullDescription[0][0];
        }
                $i++;
    }


Если знаете решение лучше, буду благодарен.            

--------------------
Мой блог
PM MAIL WWW   Вверх
KaKTyCc
Дата 4.7.2009, 15:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 247
Регистрация: 2.8.2005

Репутация: нет
Всего: 1



Код

        $tag = implode(",", $xml->xpath("//item[{$i}]/category"));


а так решил проблему с тэгами, может коряво, но на время сойдет,
буду благодарен другим, лучшим решениям
--------------------
Мой блог
PM MAIL WWW   Вверх
borshov
Дата 30.11.2009, 14:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 1
Регистрация: 30.11.2009
Где: Komi Republick

Репутация: нет
Всего: нет



С помощью функции XML Parser Functions можно прочесть <content:encoded>

Код

<?
$url = 'rss.xml'; 
$xml = xml_parser_create();    
xml_parser_set_option($xml, XML_OPTION_SKIP_WHITE, 1); 
xml_parse_into_struct($xml, file_get_contents($url), $element, $index);
xml_parser_free($xml); 
$count = count($index["TITLE"])-1; 

for ($i=0; $i < $count; $i++) {
echo '<h1>'.$element[$index["TITLE"][$i+1]]["value"].'</h1>'; 
echo $element[$index["CONTENT:ENCODED"][$i+1]]["value"]; 
}
?>

PM MAIL WWW ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | PHP: X технологии | Следующая тема »


 




[ Время генерации скрипта: 0.0537 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.