[Moscow.pm] xml parsing
Alexander Q
qalex на ashmanov.com
Пн Июл 6 00:38:17 PDT 2009
В Пнд, 06/07/2009 в 11:28 +0400, Павел Тимонин пишет:
> а есть ли легальный способ получить все параметры текущего тега?
> ну и, заодно, все имена его детей. или вообще способ получить всех
> детей.
XML::Parser - событийный парсер. С хорошей документацией :)
Задать ему пачку callback'ов (начало/конец ноды часто хватает), и
фперёд. Коллбэки вызываются с мильоном параметров: expat, node name,
attr1 => value1, attr2 => value2, ...
Пишут, что на больших документах он наиболее быстр.
> 30 июня 2009 г. 15:07 пользователь Павел Тимонин <gg.error на gmail.com>
> написал:
> так, вроде понял. а описание структуры, какие где
> дети/аттрибуты надо получить руками из этого xsd?
>
> 30 июня 2009 г. 15:04 пользователь Denis Evdokimov
> <evdokimov.denis на gmail.com> написал:
>
> как работать с xml? что это вообще такое? я
> даже не нашёл, где прочитать. то есть в
> xml::libxml я не продвинулся дальше, чем
> открыл файл парсером. что с ним делать дальше
> и как вытащить данные? у меня есть ещё файл
> описания .xsd, он вроде как очень нужен, но я
> опять же не понимаю, зачем.
>
>
> К примеру так:
> my $doc =
> XML::LibXML->new->parse_file($cities_file);
> my $cities = $doc->getElementsByTagName('city');
>
> while ( my $city = $cities->shift() )
> {
> my $id = $city->getAttribute('id');
> my $name = $city->getAttribute('name');
> print "$id $name\n";
> }
>
> P.S. Как я и говорил, с документацией некоторые
> проблемы ;-)
>
>
> --
> Moscow.pm mailing list
> moscow-pm на pm.org | http://moscow.pm.org
>
>
>
>
>
> --
> Moscow.pm mailing list
> moscow-pm на pm.org | http://moscow.pm.org
--
Alexander Q <qalex на ashmanov.com>
Подробная информация о списке рассылки Moscow-pm