new_perl_user
asked on
Parsing an XML output file to generate a log file.
Hi,
One of my Perl script calls an external program and process all the image files to validate whether they are valid image files or not and generate an XML output file for each image.('c:\document and settings\user\desktop\outp ut')
Now another perl script should read/parse these XML output files and generate a text file/log file with the directory name, file name and error type so that I can load it into the database.
Conditions are when it is reading an XML output file when it encounters:
<identity format="JPEG" mimetype="image/jpeg">
( or)
<well-formed toolname="Jhove" toolversion="1.5" status="SINGLE_RESULT">tru e</well-fo rmed>
<valid toolname="Jhove" toolversion="1.5" status="SINGLE_RESULT">tru e</valid>
when anyone of this condition is false then a log file has to be generated.
Output:
Directoryname | Filename | Errortype
IMD | imd_oo1.JPG | well- formed error
IMD | imd_006.jpg | valid tool name error
Thanks,
One of my Perl script calls an external program and process all the image files to validate whether they are valid image files or not and generate an XML output file for each image.('c:\document and settings\user\desktop\outp
Now another perl script should read/parse these XML output files and generate a text file/log file with the directory name, file name and error type so that I can load it into the database.
Conditions are when it is reading an XML output file when it encounters:
<identity format="JPEG" mimetype="image/jpeg">
( or)
<well-formed toolname="Jhove" toolversion="1.5" status="SINGLE_RESULT">tru
<valid toolname="Jhove" toolversion="1.5" status="SINGLE_RESULT">tru
when anyone of this condition is false then a log file has to be generated.
Output:
Directoryname | Filename | Errortype
IMD | imd_oo1.JPG | well- formed error
IMD | imd_006.jpg | valid tool name error
Thanks,
So, do you have a question?
ASKER
Hi,
Yes.Can anyone please help me with a Perl script to perform the above procedure.
Yes.Can anyone please help me with a Perl script to perform the above procedure.
ASKER CERTIFIED SOLUTION
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
ASKER
Hi,
But my XML file is bit complicated and i am very new to perl so not sure how to develop the script.I am attaching my sample XML output please take look.
63570660R-000002.txt
ASKER
Hi,
In the above XML file I have to search for these tags:
<identity format="JPEG" mimetype="image/jpeg">
( or)
<well-formed toolname="Jhove" toolversion="1.5" status="SINGLE_RESULT">tru
<valid toolname="Jhove" toolversion="1.5" status="SINGLE_RESULT">tru
If this condition is not satisfied then it has to generate a log file.
Thanks,
new_perl_user,
The experts on EE will not write the code for you. We will point you in the right direction and help you if you get stuck but we will not do the work. If you need someone to write you a script there are other sites you can go do where you can pay someone to do that for you.
Did you look at the documentation for XML Simple? It is as it says, simple! You just build a structure of hashes and lists and then use XML Simple to convert this to XML or vice versa.
Have a go using it, try and create a simple xml file. There are examples in the documentation you can try. See how it works and ask back here if you get stuck.
The experts on EE will not write the code for you. We will point you in the right direction and help you if you get stuck but we will not do the work. If you need someone to write you a script there are other sites you can go do where you can pay someone to do that for you.
Did you look at the documentation for XML Simple? It is as it says, simple! You just build a structure of hashes and lists and then use XML Simple to convert this to XML or vice versa.
Have a go using it, try and create a simple xml file. There are examples in the documentation you can try. See how it works and ask back here if you get stuck.
ASKER
Hi,
Sure. I will give a try.
Sure. I will give a try.
>> Sure. I will give a try.
fantastic... there is no better way to learn than to try :)
If you get stuck, post your code here along with your issue.
fantastic... there is no better way to learn than to try :)
If you get stuck, post your code here along with your issue.
ASKER
Hi,
I tried using xml :simple. But when i am executing the script it is showing up syntax error
#!/usr/local/bin/perl
use strict;
use warnings;
use XMl::simple;
use Data::Dumper;
my $list = XMLin ('IMD025350802_000002.txt'
foreach my $file (@{$list->{identification}
if ($file->{identity format} eq 'JPEG') {
print $file->{filename}."\n";
}
}
ASKER
the output is : synatx error at foreach my $file (@{$list->{identification}