Forum Webscript.Ru

Программирование => PHP => Тема начата: Reindjer от 07 Октября 2006, 21:33:25

Название: xml класс
Отправлено: Reindjer от 07 Октября 2006, 21:33:25
вот обрабатываю rss таким вот образом, НО не нравится что используются глобальные переменные. знаю что можно этот же код через класс сделать, но блин не дружу никак я с классами что-то. помогите пожалуйста перевести данный код через класс чтоб не использовались глобальные переменные.


function startElement($parser, $name, $attrs)
{
global $line;
if (($name=="title") || ($name=="description"))
if (($line==2) || ($line==3) || ($line==6) || ($line==7))
return "[$name]";
}

function endElement($parser, $name)
{
global $line;
if (($name=="title") || ($name=="description"))
if (($line==2) || ($line==3) || ($line==6) || ($line==7))
return "[/$name]
";
}

function characterData($parser, $data)
{
global $line;
if (strstr($data,"Мурманск") || strstr($data,"температура")) {
if (($line==2) || ($line==3) || ($line==6) || ($line==7))
return "$data";
$line++;
}
}

$link = "22113.xml";

$xml_parser = xml_parser_create();
xml_set_element_handler($xml_parser, "startElement", "endElement");
xml_set_character_data_handler($xml_parser, "characterData");
xml_parser_set_option($xml_parser, XML_OPTION_CASE_FOLDING, false);

if (!($fp = fopen($link, "r"))) die("could not open XML input");

while ($data = fread($fp, 4096))
{
$xml=xml_parse($xml_parser, $data, feof($fp));
}

//...
//здесь дальнейшая обработка строки $xml
//...

fclose($fp);

xml_parser_free($xml_parser);

?>