$twig->parse($tst_xml); $tst_xml = $twig->sprint;# add #### #!/usr/bin/perl use strict; use DBD::Oracle qw(:ora_types); use DBI; use XML::Twig; my $dbh = dbh(); my $sql1 = "SELECT GUID, FORMDATASEND, DOCUMENTTYPEID, APPLICATIONGUID FROM RON_TMP WHERE rownum < 10"; my $sql2 = "INSERT INTO JASON_TMP (GUID, FORMDATASEND, DOCUMENTTYPEID, APPLICATIONGUID) VALUES (?,?,?,?)"; my $sth2 = $dbh->prepare($sql2); my $twig = myhandler(); my $ar1 = $dbh->selectall_arrayref($sql1); foreach my $row (@$ar1) { $twig->parse($row->[1]); $row->[1] = $twig->sprint; $twig->purge; $sth2->bind_param(1, $row->[0]); $sth2->bind_param(2, $row->[1], { ora_type=>ORA_BLOB, ora_field=>'FORMDATASEND' }); $sth2->bind_param(3, $row->[2]); $sth2->bind_param(4, $row->[3]); $sth2->execute(); $dbh->commit; } $dbh->disconnect; exit(0); # connect sub dbh { my $host = 'host'; my $sid = 'sid'; my $user = 'user'; my $pwd = 'password'; my $dsn = "dbi:Oracle:host=$host;sid=$sid"; my $dbh = DBI->connect($dsn, $user, $pwd, { RaiseError => 1, PrintError => 1, AutoCommit => 0, }) or die (Error connecting " $DBI::errstr"); $dbh->{'LongTruncOk'} = 0; $dbh->{'LongReadLen'} = 5_000; $dbh->do("ALTER SESSION SET NLS_DATE_FORMAT = 'DD-MON-YYYY HH24:MI:SS'"); return $dbh; } sub myhandler { my $twig = XML::Twig->new( twig_handlers => { LAST_NAME => sub { $_->set_text( 'BLOGS' ) }, FIRST_NAME => sub { $_->set_text( 'FRED' ) }, MIDDLE_NAME => sub { $_->set_text( 'T' ) }, DATE_OF_BIRTH => sub { $_->set_text( '19721231' ) }, SEX => sub { $_->set_text( 'F' ) }, ADDRESS_1 => sub { $_->set_text( '1234 MAIN STREE' ) }, ADDRESS_2 => sub { $_->set_text( ' ' ) }, CITY => sub { $_->set_text( 'SOMEWHERE' ) }, PROV_CDE => sub { $_->set_text( 'AA' ) }, POSTAL_OR_ZIP_CODE => sub { $_->set_text( 'V8Z6R1' ) }, COUNTRY_CDE => sub { $_->set_text( 'CAN' ) }, PHONE_NUM => sub { $_->set_text( '2501234567' ) }, EMAIL_ADDRESS => sub { $_->set_text( 'Fred,Blogs@a.ca' ) }, }, pretty_print => 'indented', ); return $twig; }