Запрос XPATH содержит элемент PHP / Return - PullRequest
0 голосов
/ 22 сентября 2018

Я ищу способ найти в моем файле XML конкретное значение для другого узла.Я ищу "Marque" и "ReferenceVehicule", и они должны содержать определенное значение.Работает хорошо и return и Array ().

<code>element_a_rechercher = mb_strtoupper($_GET["element"]);

$xml = simplexml_load_file('magento_flux_products.xml');
$rule1 = "//Stock/Vehicule/Marque[contains(., '$element_a_rechercher')]";
$rule2 = "//Stock/Vehicule/ReferenceVehicule[contains(., '$element_a_rechercher')]";

$found1 = $xml->xpath($rule1);
$found2 = $xml->xpath($rule2);

$result = array_merge($found1, $found2);

echo '<pre>'; print_r($result); echo '
';

Возвращенный массив выглядит следующим образом:

Array
(
    [0] => SimpleXMLElement Object
        (
            [0] => DACIA
        )

    [1] => SimpleXMLElement Object
        (
            [0] => FIAT
        )

    [2] => SimpleXMLElement Object
        (
            [0] => FIAT
        )
        ...
)

Как можно сделать так, чтобы для каждого «ГИБЛА» извлекались все остальные узлы, а не только тот, в котором был выполнен запрос.Большое спасибо.

РЕДАКТИРОВАТЬ: Я нашел способ именно то, что я искал:

$rule1 = "//Stock/Vehicule/Marque[contains(., '$element_a_rechercher')]/ancestor::Vehicule";
...