Я не бог, я так низко не опускаюсь.
Кто и чем разбирает RSS?
Сейчас насткунлся на особенность работы SimpleXMLElement оно не понимает теги с : в названии и пропускает такие элементы или мне кажется?
Сейчас насткунлся на особенность работы SimpleXMLElement оно не понимает теги с : в названии и пропускает такие элементы или мне кажется?
я xslt юзаю для генерации html из xml
парсить можно как DOM документ - принцип как в DOM HTML по идее.
т.е.получить 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 выложить если в этом направлении хотите фигачить дальше)
качать тут:
www.plati.ru/asp/pay.asp?idd=1040991