Ekaterina
Новичок
парсинг XML на PHP: результат не отображается в браузере.
Только начинаю изучать PHP, делаю пример из с сайта:
XML-файл, который надо парсерить:
***********************
<?xml version="1.0"?>
<newsLine>
<news date="1.1.2002">
<title>title 1</title>
<text>news text 1</text>
</news>
<news date="5.1.2002">
<title>title 2</title>
<text>news text 2</text>
</news>
<news date="10.1.2002">
<title>title 3</title>
<text>news text 3</text>
</news>
</newsLine>
*********************
Парсер на PHP:
С PHP работаю в Zend Studio. Когда выполняю выше приведенный скрипт в Zend Studio, все отлично. Когда открываю с помощью браузера (Mozilla Firefox), отображается сам скрипт вместе со всеми тегами. Если пытаюсь выполнить его на удаленном сервере, ничего не отображается. Ошибки не выводятся в обоих случаях. Возможно вопрос глупый, но тем не менее , помогите, плиз.
Только начинаю изучать PHP, делаю пример из с сайта:
XML-файл, который надо парсерить:
***********************
<?xml version="1.0"?>
<newsLine>
<news date="1.1.2002">
<title>title 1</title>
<text>news text 1</text>
</news>
<news date="5.1.2002">
<title>title 2</title>
<text>news text 2</text>
</news>
<news date="10.1.2002">
<title>title 3</title>
<text>news text 3</text>
</news>
</newsLine>
*********************
Парсер на PHP:
PHP:
<?php
$news = array();
$xml = file_get_contents('D:\news.xml');
$dom = new DOMDocument('1.0', 'utf-8');
$dom ->loadXML($xml);
$root = $dom->documentElement;
$nodes = $root->childNodes;
foreach($nodes as $node)
{
if ($node->nodeName=='news')
{
$currentNews = array();
$currentNews['date'] = $node->getAttribute('date');
$content = $node->childNodes;
foreach($content as $contentNode)
{
if (($contentNode->nodeType==XML_ELEMENT_NODE) &&
(in_array($contentNode->nodeName,array('title','text'))))
$currentNews[$contentNode->nodeName] = $contentNode->nodeValue;
};
$news[] = $currentNews;
};
};
//print_r($news);
?>
<html>
<head>
<title>НОВОСТИ</title>
</head>
<body>
<table width="100%" border="1">
<?php
foreach($news as $n)
{
?>
<tr>
<td width="90%"><b><?php echo $n['title']; ?></b></td>
<td><?php echo $n['date']; ?></td>
</tr>
<tr>
<td colspan="2"><?php echo $n['text']; ?><br><br></td>
</tr>
<?php
};
?>
</table>
</body>
</html>