sin pararme mucho con la explicacion puedes hacer lo siguiente:
tomando el xml a una variable en php, si lo que devuelve la funcion es un array, para pasarlo a una variable usa la funcion
Código PHP:
$cadena_xml=implode("",$array_xml);
asi no tienes que ir buscando en cada elemento del array,
luego usas la funcion
Código PHP:
$inicio_etiqueta=strpos($cadena_xml,"<book>")+5;
el +5 del final es el numero de caracteres que contiene la cadena(etiqueta) que estas buscando
para averiguar la posicion de la primera etiqueta "<book>"
y de nuevo
Código PHP:
$final_etiqueta=strpos($cadena_xml,"</book>");
para que te devuelva la posicion de el cierre de la etiqueta, luego
restas
Código PHP:
$longitud_etiqueta=$final_etiqueta-$inicio_etiqueta+1;
y sacas la subcadena a partir de inicio cogiendo el numero de caracteres que contiene la variable de longitud
Código PHP:
$info_etiqueta=substr($cadena_xml,$inicio_etiqueta,$longitud_etiqueta);
ademas de esta hay otras formas, si sigues teniendo dudas te pongo alguna otra, porque creo que es esto mas o menos lo que buscas, sino da una especificacion mayor, saludos