Форум русскоязычного сообщества Ubuntu


Получить помощь и пообщаться с другими пользователями Ubuntu можно
на irc канале #ubuntu-ru в сети Freenode
и в Jabber конференции ubuntu@conference.jabber.ru

Автор Тема: PHP parse XML > MySQL  (Прочитано 3083 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн goldskif

  • Автор темы
  • Активист
  • *
  • Сообщений: 527
    • Просмотр профиля
    • Альтернативные проекты
PHP parse XML > MySQL
« : 05 Февраля 2009, 04:01:03 »
Народ, как можно правильно распарсить XML в разные таблицы MYSQL

function startElement($parser, $name, $attrs){
// ну тут чего делать с открывающим тегом
}

function endElement($parser, $name) {
// с закрыващим
}

function characterData($parser, $data) {
echo $data;
}

//создаем парсер
$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, filesize($link)))
{
if (!xml_parse($xml_parser, $data, feof($fp))) die(sprintf("XML error: %s at line %d", xml_error_string(xml_get_error_code($xml_parser)), xml_get_current_line_number($xml_parser)));
}
fclose($fp);

//не забываем очистить парсер
xml_parser_free($xml_parser);
то есть допустим <name> -  INSERT в одну таблицу, а <category> - в другую...
Ubuntu дружелюбная система, но друзей  она, сцуко, выбирает сама...

 

Страница сгенерирована за 0.015 секунд. Запросов: 22.