Как заполнить список массивов в php данными из элементов в файле XML? - PullRequest
0 голосов
/ 27 апреля 2020

Выдержка из файла макета XML:

<person>
   <i> 
     <book>
      <author id="mj">Margret Jane</author> 
      <author id="ms">Michael Scott</author>
      <author id="sj">Sarah Jane</author>
     </book>
   </i>
   <i> 
     <book>
      <author id="mj">Margret Jane</author> 
      <author id="tw>Tim Wind</author>
      <journal>ABC</journal>
     </book>
   </i>
   <i> 
     <article>
      <author id="mj">Margret Jane</author> 
      <author id="tw">Tim Wind</author>
      <journal>DEF</journal>
     </article>
   </i>
</person> 

Допустим, размер файла XML в 20 раз больше, и существует более 100 вариантов возможных журналов. Есть ли способ получить все возможные варианты и сохранить их в списке массивов? Возможно ли это с помощью XPath?

В конце я хочу использовать его следующим образом - когда пользователь вводит имя журнала и, если оно существует в xml do c, имя журнала будет напечатано:

<?php 
    $magazineSelect = $_GET['MagazineSelector'];
    if (in_array($magazineSelect, array("ABC", "DEF", "HIJ"))) {
        echo $magazineSelect;}
    else {
        echo "Unknown magazine - showing all results";}?>

В настоящее время я выписал некоторые возможности вручную, но невозможно выписать все из них.

1 Ответ

0 голосов
/ 27 апреля 2020

Я предлагаю вам сохранить данные в базе данных, а затем легко искать их с помощью MySQL Запрос.

Вы можете использовать простые xml:

https://www.php.net/manual/en/simplexml.examples-basic.php

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...