litvinenko
Новичок
русские буквы в xml файле
Доброго времени суток, знатоки!
Заранее прошу прощения. Наверняка уже что-то подобное рассматривалось в этом форуме, тогда пошу кинуть ссылку.
Проблема такая: есть xml-файл (список новостей), в котором присутствуют русские буквы.
Дело в том, что этот файл не хочет обрадатываться. Когда русских букв нет - все нормально.
Пример взят кажется из мануала по пхп.
Xml-файл test.xml
<?xml version="1.0"?>
<newsdb>
<news>
<title>в</title>
<create_time>сегодня</create_time>
<text>бла бла блаб ла
вапвапвапвап
вапвапвапвапвапвап
апвап</text>
</news>
<news>
<title>Заголовок 2</title>
<create_time>вчера</create_time>
<text>бла бла бла</text>
</news>
</newsdb>
php-файл test.php
	
	
	
		
-~{}~ 27.09.06  10:17:
да. кстати. вот что выводится в броузере:
array
0 =>
object(Xml)[1]
public 'tag' => 'newsdb' (length=6)
public 'value' => null
public 'attributes' => null
public 'next' =>
array
0 =>
object(Xml)[2]
public 'tag' => 'news' (length=4)
public 'value' => null
public 'attributes' => null
public 'next' =>
array
0 =>
object(Xml)[3]
public 'tag' => 'title' (length=5)
public 'value' => null
public 'attributes' => null
public 'next' =>
array
empty
								Доброго времени суток, знатоки!
Заранее прошу прощения. Наверняка уже что-то подобное рассматривалось в этом форуме, тогда пошу кинуть ссылку.
Проблема такая: есть xml-файл (список новостей), в котором присутствуют русские буквы.
Дело в том, что этот файл не хочет обрадатываться. Когда русских букв нет - все нормально.
Пример взят кажется из мануала по пхп.
Xml-файл test.xml
<?xml version="1.0"?>
<newsdb>
<news>
<title>в</title>
<create_time>сегодня</create_time>
<text>бла бла блаб ла
вапвапвапвап
вапвапвапвапвапвап
апвап</text>
</news>
<news>
<title>Заголовок 2</title>
<create_time>вчера</create_time>
<text>бла бла бла</text>
</news>
</newsdb>
php-файл test.php
		PHP:
	
	<?php
class Xml
{
   var $tag;
   var $value;
   var $attributes;
   var $next;
}
function xml2array($xml_string)
{
   $Parser = xml_parser_create();
   xml_parser_set_option($Parser, XML_OPTION_CASE_FOLDING, 0);
   xml_parser_set_option($Parser, XML_OPTION_SKIP_WHITE, 1);
   xml_parse_into_struct($Parser, $xml_string, $Xml_Values);
   xml_parser_free($Parser);
   $XmlClass = array();
   $LastObj = array();
   $NowObj = &$XmlClass;
   foreach($Xml_Values as $Xml_Key => $Xml_Value)
   {
       $Index = count($NowObj);
       if($Xml_Value["type"] == "complete")
       {
           $NowObj[$Index] = new Xml;
           $NowObj[$Index]->tag = $Xml_Value["tag"];
           $NowObj[$Index]->value = $Xml_Value["value"];
           $NowObj[$Index]->attributes = $Xml_Value["attributes"];
       }
       elseif($Xml_Value["type"] == "open")
       {
           $NowObj[$Index] = new Xml;
           $NowObj[$Index]->tag = $Xml_Value["tag"];
           $NowObj[$Index]->value = $Xml_Value["value"];
           $NowObj[$Index]->attributes = $Xml_Value["attributes"];
           $NowObj[$Index]->next = array();
           $LastObj[count($LastObj)] = &$NowObj;
           $NowObj = &$NowObj[$Index]->next;
       }
       elseif($Xml_Value["type"] == "close")
       {
           $NowObj = &$LastObj[count($LastObj) - 1];
           unset($LastObj[count($LastObj) - 1]);
       }
       
   }
   return $XmlClass;
}
$filename = "test.xml";
$string = file_get_contents($filename);
var_dump($string);
$Xml = xml2array($string);
var_dump($Xml);
?>
	да. кстати. вот что выводится в броузере:
array
0 =>
object(Xml)[1]
public 'tag' => 'newsdb' (length=6)
public 'value' => null
public 'attributes' => null
public 'next' =>
array
0 =>
object(Xml)[2]
public 'tag' => 'news' (length=4)
public 'value' => null
public 'attributes' => null
public 'next' =>
array
0 =>
object(Xml)[3]
public 'tag' => 'title' (length=5)
public 'value' => null
public 'attributes' => null
public 'next' =>
array
empty
	            
