Beefy Boxes and Bandwidth Generously Provided by pair Networks
Pathologically Eclectic Rubbish Lister
 
PerlMonks  

Re^2: XML::Simple is doing too much for me! Help please.

by jdtoronto (Prior)
on Jul 15, 2005 at 19:10 UTC ( #475332=note: print w/replies, xml ) Need Help??


in reply to Re: XML::Simple is doing too much for me! Help please.
in thread XML::Simple is doing too much for me! Help please.

That changes the look of the HASH, but the resultant XML still comes out 'squashed'. I was explicity forcing the root to be named, so that wasn't an issue. The issue is the phonenumbers - have a look at the original XML, then what gets produced!
$VAR1 = { 'campaign' => [ { 'menuid' => '10118-2', 'action' => '0', 'phonenumbers' => { 'phonenumber' => { 'number' => '4167781583', 'prompts' => { 'prompt' => { 'tts' => 'Hello, this is a test.', 'promptid' => '2' } }, 'callid' => '1234abc' } } } ] };
<campaign action="0" menuid="10118-2"> <phonenumbers name="phonenumber" callid="1234abc" number="4167781583 +"> <prompts name="prompt" promptid="2" tts="Hello, this is a test." / +> </phonenumbers> </campaign>
But thanks for the suggestion! jdtoronto

Replies are listed 'Best First'.
Re^3: XML::Simple is doing too much for me! Help please.
by izut (Chaplain) on Jul 15, 2005 at 19:29 UTC
    Try setting the ForceArray options like this:
    $xml = XMLin("teste.xml", KeepRoot => 1, ForceArray => [ 'phonenumber', 'prompt' ],);
    izut

    surrender to perl. your code, your rules.

      That did it, thanks izut. Just to keep the record complete, here is the results:
      $VAR1 = { 'campaign' => { 'menuid' => '10118-2', 'action' => '0', 'phonenumbers' => { 'phonenumber' => [ { 'number' => '4167781583', 'prompts' => { 'prompt' => [ { 'tts' => 'Hello, this is a test.', 'promptid' => '2' } ] }, 'callid' => '1234abc' } ] } } };
      <campaign action="0" menuid="10118-2"> <phonenumbers> <phonenumber callid="1234abc" number="4167781583"> <prompts> <prompt promptid="2" tts="Hello, this is a test." /> </prompts> </phonenumber> </phonenumbers> </campaign>
      Now I can also see hot to contrusct the HASH programatically, which si what I was attempting to do! Thanks again. jdtoronto

Log In?
Username:
Password:

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://475332]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others about the Monastery: (5)
As of 2020-05-28 21:54 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?
    If programming languages were movie genres, Perl would be:















    Results (166 votes). Check out past polls.

    Notices?