@SabAlex

Как организовать поиск по xml документу?

Коллеги, добрый день.
Есть большой xml файл с моделями автомобилей. Пример содержимого такой:
<cars>
<car>
<id_salon>000000029</id_salon>
<name_salon>Skoda</name_salon>
<id_auto>000079882</id_auto>
<model_name>RAPID</model_name>
<model_id>000000236</model_id>
<brand_name>Skoda</brand_name>
<brand_id>000000203</brand_id>
<body_type>Лифтбэк</body_type>
<color_body>Серый</color_body>
<color_manufacturer>Серый Indium с черной крышей</color_manufacturer>
<interior_color_code>AB</interior_color_code>
<price>1316700</price>
<dop_price>700000</dop_price>
<whole_price>2016700</whole_price>
<general>
<engine>1,6 / 110 / Бензин</engine>
<transmission>Механическая</transmission>
<interior/>
<year>2022</year>
<model_year>2022</model_year>
</general>

<specifications>
<specification name="Разгон до 100 км/ч (сек.)" value="10,7"/>
</specifications>
<images>
<image>/newavto/0000007305_000000013.png</image>
</images>
</car>
<car>
<id_salon>000000029</id_salon>
<name_salon>Skoda</name_salon>
<model_id>000000236</model_id>
<brand_name>Skoda</brand_name>
<brand_id>000000203</brand_id>
<body_type>Лифтбэк</body_type>
<color_body>Коричневый</color_body>
<color_manufacturer>Коричневый Toffee</color_manufacturer>
<interior_color_code>AB</interior_color_code>
<price>1410900</price>
<dop_price>700000</dop_price>
<whole_price>2110900</whole_price>
<general>
<engine>1,6 / 110 / Бензин</engine>
<transmission>Механическая</transmission>
<interior/>
<year>2022</year>
<model_year>2022</model_year>
</general>
<specifications>
<specification name="Разгон до 100 км/ч (сек.)" value="10,7"/>
</specifications>
<images>
<image>/newavto/0000007305_000000002.png</image>
</images>
</car>
</cars>


На данный момент вывожу просто все модели из этого документа циклом

<?
          $xml = simplexml_load_file("./test1.xml");
          foreach ($xml as $car) {

            ?>
              <div class="availability-item">
                  <div class="availability-item__img">
                      <img src="<?echo $car->images->image;?>" alt="">
                  </div>
                  <div class="availability-item__info">
                      <div class="info-name"><h2><?echo $car->brand_name;?> <?echo $car->model_name?> <?echo $car->modification_name?></h2></div>
                      <div class="info-more">
                          <div class="more-left">
                              <p><span>Год выпуска:</span> <?echo $car->general->year?></p>
                              <p><span>Город:</span> <?echo $car->address_salon?></p>
                              <p><span>Двигатель:</span> <?echo $car->general->engine?></p>
                          </div>
                      </div>
                  </div>
              </div>
            <?
        }
          
          ?>


Но сейчас хотелось бы отображать модели по параметрам. Т.е. человек в форме указал модель и я вывоже только те автомобили, где поле $car->model_name равно вот этой модели. И не грузить при этом весь документ. Возможно ли это сделать? Или необходимо загружать его весь в переменную и по ходу вывода фильтровать(и если так, то как это корректно на php сделать)?
Заранее огромное спасибо.
  • Вопрос задан
  • 49 просмотров
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы