[Vienna-pm] Atribute processieren
Thomas Klausner
domm at zsi.at
Tue Jan 11 04:26:59 PST 2005
Hi!
On Tue, Jan 11, 2005 at 11:30:51AM +0100, e_horn at fh-bingen.de wrote:
> use strict;
> use XML::DOM;
> use LWP::Simple;
>
>
> sub get_SummeryHTMLunigene($db,$id)
das geht bei mir (perl.5.8.5), wobei auch eher ($$) schreiben wuerde, wenn
ich unbedingt Prototypen verwenden wollte - was ich so gut wie nie will
> {
>
> my $url = 'http://eutils.ncbi.nlm.nih.gov/entrez/eutils/esummary.fcgi?db=';
> my $db = $_[0];
> my $id = $_[1];
> my $parameter_id='&id=';
> my $mode='&retmode=xml';
> my $xmlurl=$url.$db.$parameter_id.$id.$mode;
> my $dokument = get($xmlurl);
> unless (defined $dokument) { print "ERROR\n"; exit };
> my $parser = XML::DOM::Parser->new();
>
>
> my $doc = $parser->parsefile($xmlurl);
> my $result="";
> foreach my $species ($doc->getElementsByTagName('DocSum'))
> {
> $result.= "<tr><td>";
> $result.= $species->getElementsByTagName('Item');
$species->getElementsByTagName('Item') ist ein XML::DOM::NodeList Objekt,
das wohl nicht einfach so stringifiziert werden kann.
foreach ($species->getElementsByTagName('Item')){
$result.=$_->getTagName."\n";
}
liefert ein schoeneres Ergebnis, wenn auch nicht sehr aussagekraeftig (viele
"Item"s). Leider hab ich keine Ahnung, warom es in dem XML geht bzw wie es
ausschaut, aber $_->getAttribute('was_du_brauchst') wird wohl Siinn machen.
> $result.=(' .$species->getAttribute('TaxId')');
das wird wohl auch nicht stimme, eher:
$result.=$species->getAttribute('TaxId');
> $result.= "</td><td>";
>
> $result.= "</td><td>";
>
> }
> return $result;
> }
>
>
> my $html= &get_SummeryHTMLunigene("homologene",6945);
> print $html;
>
> Die Ausgabe ist:<tr><td>XML::DOM::NodeList=ARRAY(0x104eeb8c)</td><td></td><td>
> kann mir jemand von euch sagen wo mein fehler liegt??
> Vielen Dank
>
>
> -------------------------------------------------
> This mail sent through IMP: http://horde.org/imp/
> _______________________________________________
> Vienna-pm mailing list
> Vienna-pm at pm.org
> http://mail.pm.org/mailman/listinfo/vienna-pm
>
--
#!/usr/bin/perl http://domm.zsi.at
for(ref bless{},just'another'perl'hacker){s-:+-$"-g&&print$_.$/}
More information about the Vienna-pm
mailing list