Я бы, вероятно, использовал .parseXML ()
var xml = "<xml><MyNode><PLANNUM>123</PLANNUM> <SOURCE> <TYPE>PreTax</TYPE> <AMOUNT>1234</AMOUNT> </SOURCE> <SOURCE> <TYPE>AfterTax</TYPE> <AMOUNT>456</AMOUNT> </SOURCE> <SOURCE> <TYPE>PreTax</TYPE> <AMOUNT>234</AMOUNT> </SOURCE> </MyNode></xml>"
xmlDoc = $.parseXML(xml)
$xml = $(xmlDoc)
$source = $xml.find('TYPE:contains("AfterTax")').parent();
console.log($source);
http://jsfiddle.net/JdZzH/
1010 * альтернативно *
однако, я не могу заставить это работать должным образом в живом примере
console.log($('TYPE:contains("AfterTax")').parent('source'));
должен это сделать, однако у меня возникли проблемы с запуском jsfiddle. он продолжает видеть <MyNode>
как родителя, однако,
$('TYPE:contains("AfterTax")').css('text-decoration', 'underline');
работает как положено, я бы попробовал это в чем-то ином, чем jsfiddle.
Utilmately
Я думаю .parseXML () и : содержит () - это то, что вы ищете.