использование Xml в Php

  • Автор темы igorek
  • Дата начала
I

igorek

#1
Нужно вывести XML документ с помощю PHP скрипта.
XML док:
<?xml version ="1.0" encoding="UTF-8"?>
<albom>
<title>Меня зовут Игорь</title>
</albom>
PHP скрипт:
<?
$xmlfilename = "test.xml";
$code = "UTF-8"; // Кодировка xml-а
$curcode = "Windows-1251"; // Текущая кодировка
$level = 0; // Уровень вложенности
$list = array(); // Список элементов в xml-файле
// Преобразует строку из Unicode
function encoding ($str)
{
global $code;
global $curcode;
$str = mb_convert_encoding($str, $curcode, $code);
return $str;
}
function drawspace()
{
global $level;
for ($i = 0; $i < $level * 10; $i++)
{
echo " ";
}
}
// Обрабатывает текст между тегами
function characterhandler ($parser, $data)
{
global $code;
global $curcode;
drawspace();
$data = encoding($data, $curcode, $code);
$data = trim($data)."<br>";
echo $data;
}
// Обрабатывает открывающиеся теги
function starthandler ($parser, $name, $attribs)
{
global $level;
global $list;
global $code;
global $curcode;
$name = encoding($name, $curcode, $code);
$list[] = $name;
drawspace();
echo "<font color='blue' size='+1'>$name</font>";
foreach ($attribs as $atname => $val)
{
echo encoding("$atname => $val");
}
echo "><br>";
$level++;
}
?>
Как нам извесно XML-документы, которые должны обрабатываться из скрипта могут буть написаны в следующих кодировках: US-ASCII, ISO-8859-1 и UTF-8. Т.к. нам нужно русский, то придется выбрать последнюю кодировку, т.к. в первых друх нет русских букв. В PHP скрипте есть процедурка которая перекодирывает с UTF-8 в Windows-1251, но выдает ошибку что не понимает символов в 3й строке, тоесть кирилицу.
Как мне поступить???Помогите пожалуста
 
N
#3
Что вы к cp-1251 привязались ???
Весь мир на utf'e
Имхо cp must die!