Olá Márcio!<div><br></div><div><br></div><div>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.</div>
<div><br></div><div>Sobre o XML::Simple, algumas pessoas costumam falar por aqui que é um módulo mais &#39;didático&#39;. Mas ele não é bom para lidar com grandes massas de dados, porque carrega tudo para a memória.</div>
<div><br></div><div>Eu lido bastante com XML, e os dois módulos que eu recomendo são:</div><div><br></div><div>XML::Bare - gera uma estrutura muito parecida com a do XML::Simple, só que mais &#39;civilizadamente&#39;, e bem mais rápido.</div>
<div><br></div><div><br></div><div><br></div><div>ou, se você precisar usar SAX, recomendo esse módulo:</div><div><br></div><div><br></div><div><br></div><div>XML::SAX::ExpatXS</div><div><br></div><div><br></div><div>Muito rápido, e não &#39;destrói&#39; a memória do seu servidor... Mas o preço a se pagar por isso é ter que ficar gerando &#39;handlers&#39; 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...</div>
<div><br></div><div><br></div><div>De qq forma é bom dar uma olhada nesses módulos.</div><div><br></div><div><br></div><div><br></div><div><br></div><div><br></div><div><br></div><div><br></div><div><br></div><div><br></div>
<div><br></div><div><br></div><div><br><br><div class="gmail_quote">2010/8/27 Marcio Ferreira <span dir="ltr">&lt;<a href="mailto:marciodesouzaferreira@gmail.com">marciodesouzaferreira@gmail.com</a>&gt;</span><br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">
<div>Pessoal,</div><div><br></div><div>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).</div><div><br></div><div>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:</div>


<div><br></div><div>No XML::DOM - <a href="http://search.cpan.org/~enno/libxml-enno-1.02/lib/XML/DOM.pm" target="_blank">http://search.cpan.org/~enno/libxml-enno-1.02/lib/XML/DOM.pm</a> - há um exemplo com &quot;getAttributeNode&quot;, porém quando tentei usá-lo:</div>


<div>Can&#39;t locate object method &quot;getAttributeNode&quot; via package &quot;XML::DOM::NodeList&quot;</div><div><br></div><div>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).</div>


<div><br></div><div>Há uma enquete sobre isso - <a href="http://answers.oreilly.com/topic/1908-which-perl-xml-module-should-i-use" target="_blank">http://answers.oreilly.com/topic/1908-which-perl-xml-module-should-i-use</a> - mas a achei muito superficial.</div>


<div><br></div><div>Eu quero saber da comunidade qual o censo comum que há quanto ao uso de XML com Perl ?</div><div><br></div><div>Valeu</div><br><font color="#888888">Marcio Ferreira<br>
</font><br>_______________________________________________<br>
SaoPaulo-pm mailing list<br>
<a href="mailto:SaoPaulo-pm@pm.org">SaoPaulo-pm@pm.org</a><br>
<a href="http://mail.pm.org/mailman/listinfo/saopaulo-pm" target="_blank">http://mail.pm.org/mailman/listinfo/saopaulo-pm</a><br></blockquote></div><br><br clear="all"><br>-- <br>André Garcia Carneiro<br>Analista/Desenvolvedor Perl<br>
(11)82907780<br>
</div>