[SP-pm] Paser de atributos XML

Andre Carneiro andregarciacarneiro at gmail.com
Fri Aug 27 11:24:40 PDT 2010


Olá Márcio!


Eu não sei qual é o problema que você precisa resolver com XML. Mas se a
massa de dados for grande, acredito que XML::DOM não é a melhor solução.
 Pessoalmente acho ele extremamente chato de lidar. Esse problema que você
tem é um problema que eu já tive bastante, e eu tive que fazer uma rotina
para ficar verificando quando vinha HASH ou ARRAY desses atributos, usando
ref. Não ficou lá muito bonito, mas como eu deixei de usar esse módulo, eu
não me importei.

Sobre o XML::Simple, algumas pessoas costumam falar por aqui que é um módulo
mais 'didático'. Mas ele não é bom para lidar com grandes massas de dados,
porque carrega tudo para a memória.

Eu lido bastante com XML, e os dois módulos que eu recomendo são:

XML::Bare - gera uma estrutura muito parecida com a do XML::Simple, só que
mais 'civilizadamente', e bem mais rápido.



ou, se você precisar usar SAX, recomendo esse módulo:



XML::SAX::ExpatXS


Muito rápido, e não 'destrói' a memória do seu servidor... Mas o preço a se
pagar por isso é ter que ficar gerando 'handlers' que implementem SAX, ou
automatizar isso de alguma forma( é o que eu tenho feito a um bom tempo ).
Mas de vez em quando ainda preciso mexer alguma coisinha no handler...


De qq forma é bom dar uma olhada nesses módulos.













2010/8/27 Marcio Ferreira <marciodesouzaferreira at gmail.com>

> Pessoal,
>
> tive uma esperiência ruim trabando com XML(novidade XML ser ruim, né ? rs),
> experimentei varios packages do CPAN (XML::DOM, XML::LibXML, XML::Parser).
>
> Eu precisava extrair as informações q só estavam em forma de atributos dos
> elementos, meu problema maior foi a diferença da documentação com a prática,
> por exemplo:
>
> No XML::DOM - http://search.cpan.org/~enno/libxml-enno-1.02/lib/XML/DOM.pm- há um exemplo com "getAttributeNode", porém quando tentei usá-lo:
> Can't locate object method "getAttributeNode" via package
> "XML::DOM::NodeList"
>
> Depois da frustação joguei a toalha e tentei o XML::Simple, ele não oferece
> a melhor estrutura de manipulação, mas consegui resolver meu problema com
> ele, caso não resolvesse eu faria o parser na mão (como estou acostumado).
>
> Há uma enquete sobre isso -
> http://answers.oreilly.com/topic/1908-which-perl-xml-module-should-i-use -
> mas a achei muito superficial.
>
> Eu quero saber da comunidade qual o censo comum que há quanto ao uso de XML
> com Perl ?
>
> Valeu
>
> Marcio Ferreira
>
> _______________________________________________
> SaoPaulo-pm mailing list
> SaoPaulo-pm at pm.org
> http://mail.pm.org/mailman/listinfo/saopaulo-pm
>



-- 
André Garcia Carneiro
Analista/Desenvolvedor Perl
(11)82907780
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.pm.org/pipermail/saopaulo-pm/attachments/20100827/50cecfe3/attachment-0001.html>


More information about the SaoPaulo-pm mailing list