egorka
Зарегистрирован: 21.03.2007 Сообщения: 3
|
Добавлено: Ср Апр 04 2007 15:34 Заголовок сообщения: проблема c xml и php |
|
|
Почему-то скрипт не работает, вот тока не понятно почему...
<?
// Сначала все то же самое...
$news = array();
$xml = join('',file('http://www.exponet.ru/content/xml/exhibitions.ru.xml?topic=agriculture'));
$xml = xmldoc($xml);
// А теперь, вместо того, чтобы добираться до необходимых данных
// "вручную" мы воспользуемся XPath.
// Инициализируем
$xml->xpath_init();
// Создаем новый контекст
$ctx = xpath_new_context($xml);
// Вычисляем XPath-выражение, результатом которого являются все node <news>
$nodes = xpath_eval($ctx, '//item/*');
// Теперь нам остается только обработать полученные nodes.
foreach($nodes->nodeset as $node)
{
// Сама обработка осталась такой же, правда за ненадобностью исчезла
// проверка имени обрабатываемой node.
$currentNews = array();
$content = $node->children();
foreach($content as $contentNode)
{
if (($contentNode->type==XML_ELEMENT_NODE) && (in_array($contentNode->name, array('title','date'))))
$currentNews[$contentNode->name] = $contentNode->content;
echo $contentNode->name."<br>";
};
$news[] = $currentNews;
};
?>
По идее "echo $contentNode->name."<br>";" должна выводить название нода, но выводится только "#text" хотя содержимое выводится правильно...
ps: скрипт в инете взял и пример работал, комменты решил оставить.
Заранее спасибо всем за помощь... |
|