[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