[prev in list] [next in list] [prev in thread] [next in thread] 

List:       perl-beginners
Subject:    XML Sructure creation not working
From:       Punit Jain <contactpunitjain () gmail ! com>
Date:       2015-11-20 22:24:23
Message-ID: CAFXWBQLf=HANHiXAEhw+XM3LAG9md_fL+z6_c3yW0LZX5xRnjw () mail ! gmail ! com
[Download RAW message or body]

Hi,

I am facing an issue with my script while creating a XML .

Below is required structure :-

<opt>
<rule disabled="false" logged="false">
  <appliedToList>
    <appliedTo>
      <name>xyz</name>
      <isValid>true</isValid>
      <type>Distri</type>
      <value>123</value>
    </appliedTo>
  </appliedToList>
</rule>
</opt>

However I am getting below o/p

<opt>
  <rule name="appliedToList">
    <appliedTo>
      <name>xyz</name>
      <isValid>true</isValid>
      <type>Distri</type>
      <value>123</value>
    </appliedTo>
  </rule>
</opt>


My current code is :-

#!/usr/bin/perl

  use strict;
  use warnings;
  use FindBin qw();
  use lib "$FindBin::Bin/../lib";
  use IO::Handle;
  use XML::Simple;
use Data::Dumper ;

  my $xmls = XML::Simple->new(ForceArray => 1);

      my $contents = { rule =>{appliedToList=> { appliedTo => [ ] } } };

              push @{ $contents->{rule}->{appliedToList}->{appliedTo} }, {
                  name => ['test'],
                  value => ['123'],
                  name => [ 'xyz' ],
                  type => ['Distri'],
                  isValid => [ 'true' ],
              };

      open my $xml, '>', "output.xml" or die $!;
      $xml->print($xmls->XMLout($contents));
      $xml->close();

Any insights on what I am doing wrong ?

Regards,
Punit

[Attachment #3 (text/html)]

<div dir="ltr">Hi,<div><br></div><div>I am facing an issue with my script while \
creating a XML .</div><div><br></div><div>Below is required structure \
:-</div><div><br></div><div><div>&lt;opt&gt;</div><div>&lt;rule \
disabled=&quot;false&quot; logged=&quot;false&quot;&gt;<br></div><div>   \
&lt;appliedToList&gt;</div><div>      &lt;appliedTo&gt;</div><div>         \
&lt;name&gt;xyz&lt;/name&gt;</div><div>         \
&lt;isValid&gt;true&lt;/isValid&gt;</div><div>         \
&lt;type&gt;Distri&lt;/type&gt;</div><div>         \
&lt;value&gt;123&lt;/value&gt;</div><div>      &lt;/appliedTo&gt;</div><div>   \
&lt;/appliedToList&gt;</div><div>&lt;/rule&gt;</div><div>&lt;/opt&gt;</div></div><div><br></div><div>However \
I am getting below o/p</div><div><br></div><div><div>&lt;opt&gt;</div><div>   \
&lt;rule name=&quot;appliedToList&quot;&gt;</div><div>      \
&lt;appliedTo&gt;</div><div>         &lt;name&gt;xyz&lt;/name&gt;</div><div>         \
&lt;isValid&gt;true&lt;/isValid&gt;</div><div>         \
&lt;type&gt;Distri&lt;/type&gt;</div><div>         \
&lt;value&gt;123&lt;/value&gt;</div><div>      &lt;/appliedTo&gt;</div><div>   \
&lt;/rule&gt;</div><div>&lt;/opt&gt;</div></div><div><br></div><div><br></div><div>My \
current code is :-</div><div><br></div><div><div>#!/usr/bin/perl</div><div><br></div><div> \
use strict;</div><div>   use warnings;</div><div>   use FindBin qw();</div><div>   \
use lib &quot;$FindBin::Bin/../lib&quot;;</div><div>   use IO::Handle;</div><div>   \
use XML::Simple;</div><div>use Data::Dumper ;</div><div><br></div><div>   my $xmls = \
XML::Simple-&gt;new(ForceArray =&gt; 1);</div><div><br></div><div>         my \
$contents = { rule =&gt;{appliedToList=&gt; { appliedTo =&gt; [ ] } } \
};</div><div><br></div><div>                     push @{ \
$contents-&gt;{rule}-&gt;{appliedToList}-&gt;{appliedTo} }, {</div><div>              \
name =&gt; [&#39;test&#39;],</div><div>                           value =&gt; \
[&#39;123&#39;],</div><div>                           name =&gt; [ &#39;xyz&#39; \
],</div><div>                           type =&gt; [&#39;Distri&#39;],</div><div>     \
isValid =&gt; [ &#39;true&#39; ],</div><div>                     \
};</div><div><br></div><div>         open my $xml, &#39;&gt;&#39;, \
&quot;output.xml&quot; or die $!;</div><div>         \
$xml-&gt;print($xmls-&gt;XMLout($contents));</div><div>         \
$xml-&gt;close();</div></div><div><br></div><div>Any insights on what I am doing \
wrong ?</div><div><br></div><div>Regards,</div><div>Punit</div></div>



[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic