http://qs321.pair.com?node_id=1053223


in reply to Re^3: Sort xml nodes by schema
in thread Sort xml nodes by schema

This is the hash structure

'image' => { 'linux_axp_lpae' => { # Mandatory image_name => 'uImage-axp-lpae', code_ref => 'linux_3.2.40_13q3_uni', linux_image => { compiler => 'v7_le_sfp_latest', defconfig => 'armada_xp_v7smp_defconfig', modules => '1', config => { 'CONFIG_ARM_LPAE' => {value => 'y'}, 'CONFIG_SQUASHFS' => {value => 'y'} }, }, 'post_script' => ['cesa/openswan/ipsec_build.sh'] }, }
and this is the xml i get
<image image_name="uImage-axp-lpae" code_ref="linux_3.2.40_13q3_uni"> <linux_image compiler="v7_le_sfp_latest" defconfig="armada_xp_v7smp_defconfig" modules="1"> <config image="CONFIG_ARM_LPAE" value="y" /> <config image="CONFIG_SQUASHFS" value="y" /> </linux_image> <post_script>cesa/openswan/ipsec_build.sh</post_script> </image>
as you can see "code_ref" becomes a attribute but i need it to be an element

Replies are listed 'Best First'.
Re^5: Sort xml nodes by schema
by AlexTape (Monk) on Sep 10, 2013 at 11:36 UTC
    just an idea:
    code_ref => 'linux_3.2.40_13q3_uni' should look like -> code_ref => ['linux_3.2.40_13q3_uni']

    for that you have to do something like this:
    ${${$hash{'image'}}{'linux_axp_lpae'}}{'code_ref'}=@{'linux_3.2.40_13q_uni'};

    $perlig =~ s/pec/cep/g if 'errors expected';

      it does the job

      i searched a bit and i am surprised there is no option for XMLout that does this

      Thanks again