Forum Webscript.Ru

Программирование => PHP => Тема начата: Mrh от 12 Октября 2002, 17:25:06

Название: XML анализ, ошибка в обработке?
Отправлено: Mrh от 12 Октября 2002, 17:25:06
Нужна помощь в разборке скрипта, написанного по мотивам http://www.php.net/manual/en/function.xpath-eval.php и http://www.providerz.ru/articles/php/xml-sax-dom-intro.html.

Скрипт достаточно прост, но в секции:


if (($contentNode->type==XML_ELEMENT_NODE) &&
(in_array($contentNode->name,array(\'title\',\'url\',\'time\',\'groupName\',\'groupUrl\')))) {
$currentNews[$contentNode->name] = $contentNode->content;
}

не обрабатывается массив. Кто-то может дать дельный совет?

Собственно скрипт:


$xmldata = "

2002-10-12

   Новость - 1
   /news/1
   
Section1
URL1





   Новость - 2
   /news/2
   
Section2
URL2




";

$news = array();
$xml = xmldoc($xmldata);

$xml->xpath_init();
$ctx = xpath_new_context($xml);
$nodes = xpath_eval($ctx,\'//news/title | //news/url | //news/time | //news/groupName | //news/groupUrl\');

foreach($nodes->nodeset as $node)
{
$currentNews = array();
    $content = $node->children();
    foreach($content as $contentNode)
    {
if (($contentNode->type==XML_ELEMENT_NODE) &&
(in_array($contentNode->name,array(\'title\',\'url\',\'time\',\'groupName\',\'groupUrl\')))) {
            $currentNews[$contentNode->name] = $contentNode->content;
}
}
$news[] = $currentNews;
}

?>



    Output





foreach($news as $n)
{

?>


   


   



}

?>

" . $n[\'title\'] . "\\n"; ?>
" . $n[\'groupName\'] . "\\n"; ?>