in reply to help me with perl script that add xml attritutes

I usually use XML::XSH2 for XML manipulation. In this case, I needed to wrap your input file into <xml>...</xml> and to add _ between subject and names to make it a valid XML. The output is also different to your expected output: spaces between attributes are not optional in XML.
my $input := open 935956.xml ; my $student_hash := hash concat(@name, '#', @number) $input/xml/data/s +tudent ; my $semister_hash := hash ../@number $input/xml/data/semister/@subject +_names ; my $out := create xml ; for my $university in $input/xml/university { my $new_uni := cp $university into $out/xml ; for my $student in $new_uni//student { cp xsh:lookup('student_hash', concat($student/@name, '#', $stu +dent/@number))/@address into $student ; for $student/semester cp xsh:lookup('semister_hash', ./@number +) into . ; } } save :f 935956-out.xml $out ;

Replies are listed 'Best First'.
Re^2: help me with perl script that add xml attritutes
by veerubiji (Sexton) on Nov 09, 2011 at 14:30 UTC
    thanks its working