Leser: 22
1
2
3
4
5
6
7
8
my $parser = XML::LibXML->new();
my $dom = $parser->parse_file($datei);
foreach my $zeit ($dom->findnodes('/offer/offerstatus[@resolution="day"]/timerange/pstart')){
print "Zeit:$zeit\n";
}
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
38
39
40
41
42
43
44
<offer>
<offerstatus resolution="month">
<timerange>
<pstart>12345</pstart>
<pende>54321</pende>
</timerange>
<timerange>
<pstart>12345</pstart>
<pende>54321</pende>
</timerange>
<timerange>
<pstart>12345</pstart>
<pende>54321</pende>
</timerange>
</offerstatus>
<offerstatus resolution="week">
<timerange>
<pstart>12345</pstart>
<pende>54321</pende>
</timerange>
<timerange>
<pstart>12345</pstart>
<pende>54321</pende>
</timerange>
</offerstatus>
<offerstatus resolution="day">
<timerange>
<pstart>12345</pstart>
<pende>54321</pende>
</timerange>
<timerange>
<pstart>12345</pstart>
<pende>54321</pende>
</timerange>
</offerstatus>
</offer>
1 2 3 4 5 6 7 8 9 10 11 12 13 14
#!/usr/bin/perl use strict; use warnings; use XML::LibXML; my $parser = XML::LibXML->new; my $tree = $parser->parse_file( 'test.xml' ); my @nodes = $tree->findnodes( '/offer/offerstatus[@resolution="day"]/timerange/pstart' ); for my $node ( @nodes ) { print $node->textContent,"\n"; }
2010-10-28T08:54:01 Cherrykiss--> alles zurück ^^ ihr habt mir schon geholfen. brauch nur eben doch mal ne neue Brille. so nach dem Motto warum einfach, wenns auch kompliziert geht hab ich mir nen Fehler eingebaut, weil ich nicht schreiben kann :p
1
2
3
4
5
6
7
8
9
<timerange>
<box/>
<pstart>1288223999</pstart>
<ptime>1288310398</ptime>
<start>2010-10-27 23:59:59.0</start>
<time>2010-10-28 23:59:58.0</time>
<pis>255156</pis>
<visits>31991</visits>
</timerange>
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
my $parser = XML::LibXML->new; my $dom = $parser->parse_file($datei); my @start=$dom->findnodes('/page/offer/offerstatus[@resolution="day"]/timerange'); for my $startnode(@start){ my $tempstart= $startnode->'pstart'->textContent; if (($date<$tempstart+86399) && ($date>$tempstart)){ print "Datum: $date\n"; print "Startzeit:$tempstart \n"; my $startzeit = $startnode->'start'->textContent; my $endzeit = $startnode->'time'->textContent; print "Startzeit richtig:$startzeit\n"; print "Endzeit richtig: $endzeit\n"; }}
my $tempstart= $startnode->'pstart'->textContent;
my $tempstart= $startnode->findvalue('pstart');