Beefy Boxes and Bandwidth Generously Provided by pair Networks
Do you know where your variables are?
 
PerlMonks  

Re: xml to xml converter

by choroba (Archbishop)
on Nov 09, 2021 at 16:30 UTC ( #11138632=note: print w/replies, xml ) Need Help??


in reply to xml to xml converter

This is how you can do it in XML::XSH2, a wrapper around XML::LibXML. You can experiment with the code in its xsh shell interactively.
my $out := create "TestCode" ; set $out/TestCode/@version "10.0" ; set $out/TestCode/TestCategory/@name "SmokeTest" ; open file.xml ; cp //Test[starts-with(@name, "CheckType_")][context/value = "XYZ"] into $out/TestCode/TestCategory ; save :f output.xml $out ;

Or maybe, more simply, remove any Test that doesn't match the criteria:

open 1.xml ; delete ( //Test[not(starts-with(@name, "CheckType_"))] | //Test[starts-with(@name, "CheckType_")][not(context/value = +"XYZ")] ) ; save :f 1.out ;

map{substr$_->[0],$_->[1]||0,1}[\*||{},3],[[]],[ref qr-1,-,-1],[{}],[sub{}^*ARGV,3]

Log In?
Username:
Password:

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

How do I use this? | Other CB clients
Other Users?
Others rifling through the Monastery: (4)
As of 2022-05-24 21:43 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?
    Do you prefer to work remotely?



    Results (84 votes). Check out past polls.

    Notices?