Я создаю объект SimpleXMLElement из файла XML:
$pages = new SimpleXMLElement('content.xml', LIBXML_NOCDATA, true);
Упрощенная версия файла content.xml выглядит следующим образом: http://pastebin.com/mtvrPAK4
Есть ли какая-нибудь функция PHP, которая будет возвращать потомок $pages с атрибутом id = "whatis" ?
$pages
Взгляните на SimpleXML::xpath():
SimpleXML::xpath()
$pages->xpath('/pages/page[@id = "whatis"]');
Когда вам нужно выбрать узлы XML, ответом всегда будет XPath.
Интерфейс SimpleXMLElement для XPath - это метод xpath.
SimpleXMLElement
xpath
Это выберет все элементы с атрибутом id = 'whatis':
$pages->xpath('//*[@id="whatis"]');