Как конвертировать XML в строку в Perl - PullRequest
0 голосов
/ 15 ноября 2011

Мне нужно отправить XML-файл как тело письма. Я хочу преобразовать XML в простую строку, поместить его в тело и затем отправить электронное письмо. Я помню, я делал это раньше в C #, загружая файл как PlainText в RichTextBox.

my $xmlfilename;
my $myxml;
# XML TO STRING?
my $email = Email::Simple->create(
header => [
To      => '"AB <a@b.it"',
From    => '"CD" <c@d.it>',
Subject => "TEST",
],
body => $myxml,
);
sendmail($email);

Есть идеи?

Ответы [ 2 ]

5 голосов
/ 15 ноября 2011

Если вы прочитаете данные XML из файла, то это будет «простая строка». Я не уверен, в чем путаница.

my $xmlfilename;

open my $fh, $xmlfilename or die "Can't open $xmlfilename: $!";

my $myxml = do { local $/; <$fh>; };

my $email = Email::Simple->create(
    header => [
        To      => '"AB <a@b.it"',
        From    => '"CD" <c@d.it>',
        Subject => "TEST",
    ],
    body => $myxml,
);

sendmail($email);
0 голосов
/ 15 ноября 2011
my $xmlfilename; 
my $myxml; 
open (FILE, '>', "$xmlfilename") or die "$!";
while (<FILE>){
    $myxml = "$myxml"."$_";  

 }
close (FILE);
my $email = Email::Simple->create( 
header => [ 
    To => '"AB <a@b.it"', 
    From => '"CD" <c@d.it>', 
    Subject => "TEST", 
], 
    body => $myxml, 
); 
    sendmail($email);

или, если хотите, можете разобрать xml с http://metacpan.org/pod/XML::Parser модулем

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...