Я не бог, я так низко не опускаюсь.
Кто и чем разбирает RSS?
Сейчас насткунлся на особенность работы SimpleXMLElement оно не понимает теги с : в названии и пропускает такие элементы или мне кажется?

@темы: PHP

Комментарии
11.02.2009 в 00:21

ммм а в каких целях парсишь?
я xslt юзаю для генерации html из xml
парсить можно как DOM документ - принцип как в DOM HTML по идее.
12.02.2009 в 17:58

Я не бог, я так низко не опускаюсь.
rasstroen что бы получить тексты записей, для их последующей обработки в скрипте. в частности для ЖЖ интересует вытягивание авторов записей в сообществах.
18.02.2009 в 17:01

lugavchik
т.е.получить xml одним куском и что-то с ним делать - так? типа $xmltext = file_get_content('fff.ru/rss.xml');

я делал как-то так:

< ?
// main.php
// класс подгружает класс действий
// класс подгружает класс соединения с mysql
// класс подгружает класс модуля записи
// класс подгружает класс модуля чтения
class main
{
function __construct($config) {
// скармливается конфиг
$this->conf = $config;
}


function start()
{
// начало работы
$this->xml = new DOMDocument();
$this->xml->loadXML('< ?xml version="1.0" encoding="utf-8"?>'. '');
// дерево секций
// xslt
$this->root = $this->_GetRootElement();
// подключаем mysql
require_a($this->conf->path."mysql.php");
$this->db = new mysql($this->conf);
// подключаем класс действия
require_a($this->conf->path."doclass.php");
$this->doclass = new doclass($this->db);
// подключаем класс записи
// подключаем класс чтения
if (is_array($this->doclass->readclassfile))
{
foreach ($this->doclass->readclassfile as $read)
{
// подключаем файл
require_a($this->conf->path.$read->file);
eval("\$module = new \$read->class(\$this->db,\$this->conf,\$read->id,\$this->xml,\$this->root);");
$module->process();
// исполняем класс в нем с параметром - id модуля

}
}


$this->_out($this->xml, "xslt/{$this->doclass->template}");
// отключаемся
return true;
}

function _GetRootElement()
{
$element = $this->xml->getElementsByTagName("root");
return $element->item(0);
}

function _out($xml_m,$xsl_m)
{

$doc = new DOMDocument();
$xsl = new XSLTProcessor();
$doc->load($xsl_m);
$xsl->importStyleSheet($doc);
$doc = $this->xml;
if (isset($_GET['xml']))
{
header("Content-type: text/xml");
die($this->xml->saveXML());
}
echo $xsl->transformToXML($doc);

return true;
}
}
?>

тут создается xml дерево
$this->xml->loadXML('< ?xml version="1.0" encoding="utf-8"?>'. '');
можно вместо < ?xml version="1.0" encoding="utf-8"?>'. ' скормить полностью xml чужой
затем применяется шаблон xslt и выводится на страницу. Могу xslt выложить если в этом направлении хотите фигачить дальше)
10.11.2010 в 13:56

Простой пример Ajax для чайников, по нажатию на кнопку-картинку данные из html-страницы записываются в базу и сразу же выводятся на экран без перезагрузки страницы. Маленький понятный код, в PHP используется метод $_POST, SQL запросы, функция createXMLHttp(), и немного стилей, все только нужное для понимания ajax, исчерпывающие комментарии в строках. Научитесь создавать динамические web-страницы без лишних громоздких библиотек своими руками. Работа со связкой PHP,MySQL,Apache, Javasсript становится легка и понятна каждому. Поняв суть данного примера вы в дальнейшем сможете создавать Ajax-страницы любой сложности. По этой программе можно научиться PHP MySQL и AJAX одновременно.

качать тут:
www.plati.ru/asp/pay.asp?idd=1040991

Расширенная форма

Редактировать

Подписаться на новые комментарии
Получать уведомления о новых комментариях на E-mail