getting requestName from xml outout in log file

hi all,
i was wondering if there is an easy and smart way of greping for requestname (in bold below) from xml output from application log file on a solaris 10 system.

The requestName is the actual method name which gets called e.g it could be 'getAccount' or getId or getAddress etc etc

example of output written to log file :

2011-06-22 07:11:02,372 [TP-Processor6] DEBUG aapt.obs.ws.ValidationHandler - <?xml version="1.0" encoding="UTF-8"?><soapenv:Envelope xmlns:soapenv="http://sch
emas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"><soapenv:Body><requestName
xmlns="http://www.powertel.com.au/OrderBillingServices/xsd"><input>235234523</input></requestName></soapenv:Body></s
oapenv:Envelope>

i wanted to get this requestname so i can count how many times it occurs in the log file.

so far i have tried the below but i dont know how to get the requestName attribute.

grep -i "request" app.log 

thanks in advance.

% NAME=requestName;                                                         

% perl -0777 -lne 'print "$1\n" while m|(<'$NAME'.*?</'$NAME'>)|sg' testfile
<requestName
xmlns="http://www.powertel.com.au/OrderBillingServices/xsd"><input>235234523</input></requestName>