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

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

There is one requirement wherein I want to extract some nodes from a XML file and create a temporary file with those extracted nodes.

Below is testng.xml sample file -

<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd"> <suite name="Automation Suite" verbose="1" parallel="false"> <test name="Configuration Restore Test Suite"> <classes> <class name="com.qa.testsuite.ConfigurationRestoreTests" /> </classes> </test> <test name="Import Test Suite"> <classes> <class name="com.qa.testsuite.ImportTests" /> </classes> </test>

In the above testng.xml file, I want to extract only some of the nodes and save it in another file for further execution. for example, if I want to extract below code, then how to do it?

<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd"> <test name="Import Test Suite"> <classes> <class name="com.qa.testsuite.ImportTests" /> </classes> </test>

I have heard about XML::LibXML and XML::Parser modules but it seem to be difficult to understand when i saw their documentation. Is there any other modules as well which can solve my problem? Please let me know from where I can start to solve this problem.