http://www.perlmonks.org?node_id=11138619

szpt9m has asked for the wisdom of the Perl Monks concerning the following question:

Hello, I need a way to search and find some tags and values in my input xml and if that exist, i want to create a new xml file based on that. For example my input file looks something as below
<?xml version="1.0" encoding="UTF-8"?> <TestCode version="10.0"> <TestCategory name="SmokeTest"> <Test name="CheckType_123" type="String"> <Test_description>No description available for this Test < +/Test_description> <context name="Testing"> <value>ABC</value> <value>XYZ</value> </context> </Test> <Test name="CheckType_PQR" type="String"> <Test_description>No description available for this Test</ +Test_description> <context name="SmokeTest"> <value>ABC</value> </context> </Test> <Test name="ValueAdded_123" type="String"> <Test_description>No description available for this Test</ +Test_description> <context name="Testing"> <value>ABC</value> <value>XYZ</value> </context> </Test> </TestCategory> </TestCode>
From the above input xml file, I need to check if i have tag <Test name=CheckType_* and if yes, i need to check if i have context/vlaue = XYZ. If exist i need to take the whole <Test ...> </Test> tag and put it in a new xml file. So from the above xml, the output what i need is:
<?xml version="1.0" encoding="UTF-8"?> <TestCode version="10.0"> <TestCategory name="SmokeTest"> <Test name="CheckType_123" type="String"> <Test_description>No description available for this Test</ +Test_description> <context name="Testing"> <value>ABC</value> <value>XYZ</value> </context> </Test> </TestCategory> </TestCode>
because from my input xml, the second Test tag has no value XYZ and 3rd Test tag has no name starting with CheckType_*. Can you help me with this?