Método XPATH para volver a sintonizar múltiples resultados dinámicos de un archivo XML usando PHP [cerrado]

Tengo un formulario que el usuario escribe o selecciona un valor, el formulario es el siguiente

<form id="search_photos" action="photo_result.php" method="get">
<select name="Photographer_id" id="Photographer_id"   style="height:23px; border:1px solid Silver;">
    <option selected="selected" value="x">Any Photographer_id</option>
    <option value="John">John</option>
    <option value="Fred">Fred</option>
    <option value="Joseph">Joseph</option>
</select>
<select name="Photographer_id" id="Photographer_id"   style="height:23px; border:1px solid Silver;">
    <option selected="selected" value="x">Any Photographer_id</option>
    <option value="1">1</option>
    <option value="2">2</option>
    <option value="3">3</option>
</select>
<select name="images" id="images"   style="height:23px; border:1px solid Silver;">
    <option selected="selected" value="x">All Images</option>
    <option value="0">None</option>
    <option value="a">Image a</option>
    <option value="b">Image b </option>
    <option value="c">Image c </option>
</select>
    <select name="images_id" id="images_id"   style="height:23px; border:1px solid Silver;">
    <option selected="selected" value="x">All Images</option>
    <option value="0">None</option>
    <option value="1">1</option>
    <option value="2">2</option>
    <option value="3">3</option>
</select>
<input name="Submit" value="Search Now &gt;" id="Submit" class="Adv1_Filter_Button" type="submit">

Entonces elsearch_photo.php Script que captura el resultado del formulario y filtra los valores introducidos por el usuario de la siguiente manera

$xml = simplexml_load_file("photo.xml");

for ($i = 0; $i < count($xml); $i++) {  

    if (isset($_GET["LocationName"])) {
        $photographer_id = $_GET["LocationName"];
    }

    $result = $xml->xpath('/root/area[photographer_id="' . $photographer_id . '"]  ');
}

if(isset($_GET["Photographer"])) {
    $photographer = $_GET["Photographer"];
} 

$result = $xml->xpath('/root/area[photographer_id="' . $photographer_id . '"]  ');

if(isset($_GET["images"])) {
    $image = $_GET["images"];
}

echo $photographer_id;
echo $photographer;
echo $image;
var_dump ($result);

los$result desde el primer paso de XPATH es correcto si todo lo que está configurado es ‘photographer_id’ si luego intento$result = $xml->xpath('/root/area[photographer_id="' . $photographer_id . '"] | /root/area[photographer="' . $photographer . '"]'); y seleccione1 yfred luego obtengo el resultado de una matriz de los cuatro cuando debería ser una matriz vacía que puede recomendar cómo corregir este error. Lo siento michi aquí está el archivo XML

 <?xml version="1.0" encoding="UTF-8"?>
  <root>
   <area>
    <photographer_id>1</photographer_id>
    <photographer>John</photographer>
    <image>a</image>
    <image_id>1</image_id>
   </area>
   <area>
    <photographer_id>1</photographer_id>
    <photographer>John</photographer>
    <image>b</image>
    <image_id>2</image_id>
   </area>
   <area>
    <photographer_id>1</photographer_id>
    <photographer>John</photographer>
    <image>c</image>
    <image_id>3</image_id>
   </area>
   <area>
    <photographer_id>2</photographer_id>
    <photographer>Fred</photographer>
    <image>a</image>
    <image_id>4</image_id>
   </area>
   <area>
    <photographer_id>3</photographer_id>
    <photographer>Joseph</photographer>
    <image>a</image>
    <image_id>5</image_id>
   </area>
  </root>

esta ayuda, el archivo XML final será más grande que esto sin embargo.

Respuestas a la pregunta(3)

Su respuesta a la pregunta