[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