:D
Problem gelöst!!
Für alle die irgendwann Mal das gleich Problem haben ist das Schlüsselwort
TwigRoots!
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
...
my $global_db;
my $twig = new XML::Twig(
TwigRoots => #twig will be created only for Entrezgene_unique-keys elements
{ "Entrezgene_unique-keys" => 1 },
TwigHandlers => #Gene-track element will be called when each player element has been parsed
{
"Dbtag_db" => \&dbxref, #here $twig->purge forbitten, because the data of the twig are needed for &generef
"Object-id_id" => \&dbid
}
);
...
sub dbxref {
my ($twig, $dbxref) = @_;
my $db = '??';
if ($dbxref->text) {
$db = $dbxref->text;
}
$global_db = $db;
$twig -> purge;
$dbxref -> delete;
}
sub dbid {
my ($twig, $dbid) = @_;
my $id = '??';
if ($dbid->text) {
$id = $dbid->text;
}
print "$global_db - $id\n";
$twig -> purge;
$dbid -> delete;
}
Achtet bitte gut darauf an welcher Stelle ihr
$twig->purge setzt! In manchen Fällen kann er wichtige Daten löschen. Bei mir kann ich den Aufruf in Beide setzen.