Hey everybody,
i want to get the content of a Xmlfile.
When there are no attributes it works well, but in this case i have to
get the content of attribute nodes.
My skript runs but gives nothing as result out.
perhaps someone of you can help me?
Regards Eva!


#!/bin/perl -w
use LWP::Simple;
use XML::DOM;

sub XML_einlesen
{

 my
$url='http://eutils.ncbi.nlm.nih.gov/entrez/eutils/esummary.fcgi?db=';
 my ($datenbank,$id1)[EMAIL PROTECTED];
 my $url2='&id=';
  my $url4='&retmode=xml';
  return $url.$datenbank.$url2.$id1.$url4;

}



sub main
{
 my $doc;
 my $datenverarbeiten;
 $datenverarbeiten=&XML_einlesen("gene",11848);
 $doc = get$datenverarbeiten;
 processXML($doc);
}

sub processXML
{
 my $xmldoc = $_[0];
 my $parser = new XML::DOM::Parser;
 my $doc = $parser->parse($xmldoc);
 my $nodes = $doc->getElementsByTagName("eSummaryResult");
for (my $i=0; $i<$nodes->getLength(); $i++)

{
  my $node = $nodes->item($i);

 if ($node->getAttribute("Name"))
 {
       print processNode($node->item($i));
 }
 print "\n";
}
 $doc->dispose;
}


sub processNode
{
 my $nodes = $_[0]->getChildNodes();
  my $text;
 for (my $i=0; $i<$nodes->getLength();$i++ )
{
     my $node = $nodes->item($i);
     if ($node->getNodeType() ==XML::DOM::Node::ELEMENT_NODE())
     {

      $text .= $node->getFirstChild()->getNodeValue()
  }
   else
    {
       $text .= $node->getNodeValue()
     }
 }
 return $text;
}

#hauptprogramm
main();


-- 
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
<http://learn.perl.org/> <http://learn.perl.org/first-response>


Reply via email to