I suggest that you take a good look at XSLT. Here is a good article: http://www.xml.com/pub/a/2003/11/26/learnXSLT.html.
The main reason why I suggest this, which BTW is not directly related to Perl (although fully supported by LibXML and hence by the Perl packages that employ it), is that: “extracting elements from an XML document to produce another XML (or HTML) document” is a very generic business requirement. Your browser can do it; so can Excel and many other data analysis tools. All of them are applying XSLT technologies. (A particularly striking example are the “interactive periodic table of the elements” sites, which, if you browse the page source-code, are predominantly using XSLT to cause your browser to do the work.) You might not have to “construct a computer program” to do this ... not at all. If so, that can be a big win.
In essence, an XSLT document is an XML document which contains, among other things, directives which include “XPath expressions” that specify what you are looking for, and surrounding-material which defines the target-document into which these elements will be inserted. It is, admittedly, a cumbersome technology, yet a very powerful one. Yes, Perl fully supports it (through the LibXML-based packages), yet, you do not have to use Perl (nor any other programming language) to avail yourself of it.