summaryrefslogtreecommitdiff
path: root/Xerl/XML/SAXHandler.pm
diff options
context:
space:
mode:
Diffstat (limited to 'Xerl/XML/SAXHandler.pm')
-rw-r--r--Xerl/XML/SAXHandler.pm19
1 files changed, 6 insertions, 13 deletions
diff --git a/Xerl/XML/SAXHandler.pm b/Xerl/XML/SAXHandler.pm
index df07fca..1397254 100644
--- a/Xerl/XML/SAXHandler.pm
+++ b/Xerl/XML/SAXHandler.pm
@@ -76,27 +76,20 @@ sub characters {
my ($self, $doc) = @_;
my $x = $self->{xerl};
- $x->{last_data} = $doc->{Data};
+ my $data = $doc->{Data};
+ $data =~ s/!!LT!!/</g;
+ $data =~ s/!!GT!!/>/g;
- return undef;
-}
-
-sub end_element {
- my ($self, $doc) = @_;
- my $x = $self->{xerl};
-
- my $prev = pop @{$x->{stack}};
- $prev->{text} = $x->{last_data};
- $x->{current} = $prev;
+ $x->{current}{text} = $data;
return undef;
}
-sub end_document {
+sub end_element {
my ($self, $doc) = @_;
my $x = $self->{xerl};
- print Dumper $x->{root};
+ $x->{current} = pop @{$x->{stack}};
return undef;
}