Многие библиотеки XML допускают манипуляции со строками XML и XPATH.
Здесь есть примеры с dom4j .
Из предоставленной ссылки:
String text = "<person> <name>James</name><address><city>New York</city></address></person><person> <name>Billy</name> </person>";
Document document = DocumentHelper.parseText(text);
List list = document.selectNodes( "//person/name" );
Node node = document.selectSingleNode( "//person/address/city" );