veerubiji has asked for the wisdom of the Perl Monks concerning the following question:
Hi monks, I have one string with xml data,I am processing that sting using XML::Simple module and template toolkit process. By using PDF latex I am converting it into pdf. But my problem is I have some repeated information in XML format.so its also repeating in pdf.How to remove this information.My data look like this.
<specification> <details> <name>johan</name> <address>Langgt 23</address> ---more info--- </details> <details> <name>venu</name> <address>storgatan 27</address> ---more info--- </details> <details> <name>kent</name> <address>nygatan 46</address> ---more info---- </details> <details> <name>johan</name> <branch>ece</branch> ---more info-- </details> </specification>
In the above xml file name johan repeated in two nodes and in frist node He having the address details, In the repeated node he having some other details but I need only nodes that contain address information . If any nodes don't have address nodes then remove entire node information.I am new to perl language how to find the nodes that don't have address information and how to delete that node. please help me.
Some body suggested XML::simple automatically deletes repeated information with some specific configuration but I cant found in that module.
please help me i am working from last 10 days on this task but I am unable to remove such information, Any help appreciated.
I am processing like that
#!/usr/bin/perl use warnings; use strict; use Data::Dumper; use XML::Simple; use XML::Fast; use Template; my $data="some xml data"; my $xml = new XML::Simple; my $data = $xml->XMLin("$data", ForceArray =>['name','address'],); #print Dumper($data); my $template = Template->new(); my $filename = 'output1.tex'; $template->process(\*DATA, $data, $filename) || die "Template process failed: ", $template->error(), "\n"; system( "pdflatex $filename" ); __DATA__ \documentclass[a4paper,leqno,twoside]{article} \usepackage[latin1]{inputenc} \usepackage[english]{babel} \usepackage{multirow} \renewcommand{\familydefault}{\sfdefault} \usepackage{color} \usepackage[colorlinks=true]{hyperref} \begin{document} [% FOREACH st IN details %] [% st.name %] [%st.address%] ---more info--- [%END%]
any help appreciated
Thanks in advance
|
---|