Zaloguj | Zarejestruj | FAQ
Anonymous

xml parser на PHP

+ Odpowiedz

Posty: 2 Strona 1 z 1


xml parser на PHP

przez sergey7984 » Pt maja 18, 2012 2:28 pm

Обнаружил макет парсера на
http://www.internet-technologies.ru/art ... _1427.html
Только вместо рускоязычного текста получаю :
Труба витая d 140х5 мм
Замена
$xml_parser = xml_parser_create('UTF-8');
никакого эффекта не даёт.
Как исправить ситуацию ?
Kod: Zaznacz cały
<?
$file = "data.xml";

function startElement($parser, $name, $attrs) {
global $depth;

echo str_repeat("&nbsp;", $depth * 3); // отступы
echo "<b>Element: $name</b><br>"; // имя элемента

$depth++; // увеличиваем глубину, чтобы браузер показал отступы

foreach ($attrs as $attr => $value) {
echo str_repeat("&nbsp;", $depth * 3); // отступы
// выводим имя атрибута и его значение
echo 'Attribute: '.$attr.' = '.$value.'<br>';
}
}

function endElement($parser, $name) {
global $depth;

$depth--; // уменьшаем глубину
}

function stringElement($parser, $str) {
if (strlen(trim($str)) > 0) {
global $depth;

echo str_repeat("&nbsp;", $depth * 3); // отступ
echo 'String: '.$str.'<br>'; // выводим строку
}
}





$depth = 0;


$xml_parser = xml_parser_create();

xml_set_element_handler($xml_parser, "startElement", "endElement");

xml_set_character_data_handler($xml_parser, "stringElement");


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

while ($data = fgets($fp)) {
if (!xml_parse($xml_parser, $data, feof($fp))) {
echo "<br>XML Error: ";
echo xml_error_string(xml_get_error_code($xml_parser));
echo " at line ".xml_get_current_line_number($xml_parser);
break;
}
}

xml_parser_free($xml_parser);
?>
Avatar użytkownika

sergey7984

  • Posty: 54
  • Dołączył(a): Wt gru 20, 2011 5:25 pm

Re: xml parser на PHP

przez XainPro » Cz lis 29, 2012 8:10 am

Здесь очень хороший урок о том, как разобрать XML и PHP

http://www.phpeveryday.com/articles/PHP ... -P848.html
Avatar użytkownika

XainPro

  • Posty: 3933
  • Dołączył(a): Pt lut 17, 2012 8:10 pm


+ Odpowiedz

Strona 1 z 1