не разобрался. видимо, на спане не вся документация. вот я открыл файл, со стайлом Tree, например. что у меня теперь на этой переменной? дальше-то что делать?:)<br><br><div class="gmail_quote">6 июля 2009 г. 11:38 пользователь Alexander Q <span dir="ltr"><<a href="mailto:qalex@ashmanov.com">qalex@ashmanov.com</a>></span> написал:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">В Пнд, 06/07/2009 в 11:28 +0400, Павел Тимонин пишет:<br>
<div class="im">> а есть ли легальный способ получить все параметры текущего тега?<br>
> ну и, заодно, все имена его детей. или вообще способ получить всех<br>
> детей.<br>
<br>
</div>XML::Parser - событийный парсер. С хорошей документацией :)<br>
<br>
Задать ему пачку callback'ов (начало/конец ноды часто хватает), и<br>
фперёд. Коллбэки вызываются с мильоном параметров: expat, node name,<br>
attr1 => value1, attr2 => value2, ...<br>
<br>
Пишут, что на больших документах он наиболее быстр.<br>
<div><div></div><div class="h5"><br>
> 30 июня 2009 г. 15:07 пользователь Павел Тимонин <<a href="mailto:gg.error@gmail.com">gg.error@gmail.com</a>><br>
> написал:<br>
> так, вроде понял. а описание структуры, какие где<br>
> дети/аттрибуты надо получить руками из этого xsd?<br>
><br>
> 30 июня 2009 г. 15:04 пользователь Denis Evdokimov<br>
> <<a href="mailto:evdokimov.denis@gmail.com">evdokimov.denis@gmail.com</a>> написал:<br>
><br>
> как работать с xml? что это вообще такое? я<br>
> даже не нашёл, где прочитать. то есть в<br>
> xml::libxml я не продвинулся дальше, чем<br>
> открыл файл парсером. что с ним делать дальше<br>
> и как вытащить данные? у меня есть ещё файл<br>
> описания .xsd, он вроде как очень нужен, но я<br>
> опять же не понимаю, зачем.<br>
><br>
><br>
> К примеру так:<br>
> my $doc =<br>
> XML::LibXML->new->parse_file($cities_file);<br>
> my $cities = $doc->getElementsByTagName('city');<br>
><br>
> while ( my $city = $cities->shift() )<br>
> {<br>
> my $id = $city->getAttribute('id');<br>
> my $name = $city->getAttribute('name');<br>
> print "$id $name\n";<br>
> }<br>
><br>
> P.S. Как я и говорил, с документацией некоторые<br>
> проблемы ;-)<br>
><br>
><br>
> --<br>
> Moscow.pm mailing list<br>
> <a href="mailto:moscow-pm@pm.org">moscow-pm@pm.org</a> | <a href="http://moscow.pm.org" target="_blank">http://moscow.pm.org</a><br>
><br>
><br>
><br>
><br>
><br>
> --<br>
> Moscow.pm mailing list<br>
> <a href="mailto:moscow-pm@pm.org">moscow-pm@pm.org</a> | <a href="http://moscow.pm.org" target="_blank">http://moscow.pm.org</a><br>
</div></div>--<br>
<div class="im">Alexander Q <<a href="mailto:qalex@ashmanov.com">qalex@ashmanov.com</a>><br>
<br>
</div><div><div></div><div class="h5">--<br>
Moscow.pm mailing list<br>
<a href="mailto:moscow-pm@pm.org">moscow-pm@pm.org</a> | <a href="http://moscow.pm.org" target="_blank">http://moscow.pm.org</a><br>
</div></div></blockquote></div><br>