Buen dia, sucede que necesito ejecutar un foreach condicionado de dos xml a la vez, no pongo mi funcion php ni mis xml porque son muy largos, para un ejemplo seria algo asi:
Tengo dos XML
Código:
<?xml version="1.0" encoding="ISO-8859-1"?>
<mensajes>
<mensaje>
<suma>1+1</suma>
</mensaje>
<mensaje>
<suma>2+2</suma>
</mensaje>
<mensaje>
<suma>3+3</suma>
</mensaje>
</mensajes>
Código:
<?xml version="1.0" encoding="ISO-8859-1"?>
<campos>
<campo>
<resultado>2</resultado>
</campo>
<campo>
<resultado>3</resultado>
</campo>
<campo>
<resultado>6</resultado>
</campo>
</campos>
Y solicito un foreach por medio de php de la siguiente manera:
Código PHP:
<?PHP
$xml = simplexml_load_file("library.xml");
$res = $xml->xpath("/campos/campo");
foreach ($res as $art){
echo $art->resultado;}
?>
Y por ende me muestra 2 3 6, pero ahora lo que necesito es condicionar esos resultados, solo cuando suma sea igual a resultado, he tratado lo siguiente:
Código PHP:
<?PHP
$xml2 = simplexml_load_file("library2.xml");
$xml = simplexml_load_file("library.xml");
$res2 = $xml->xpath("/mensajes/mensaje");
foreach ($res2 as $art2){
$suma = $art2->suma;
$res = $xml->xpath("/campos/campo[resultado='$suma']");
foreach ($res as $art){
echo $art->resultado;}
}
?>
Pero no muestra nada, la idea seria que mostrara solo 2 y 6, ya que son los únicos que cumplirían con la condición. Unir los xml me resulta imposible ya que uno de esos es de un API externa a mi web, la otra seria hacer solo un foreach para ambos xml y asi evito hacer tantas peticiones, pero no sabría como hacerlo.
Muchas gracias.