Я действительно надеюсь, что кто-нибудь может мне помочь с этим.
По сути, я пытаюсь проанализировать определенные атрибуты XML в дереве XML на основе других атрибутов в этой ветви.
В качестве примера типа XML, с которым я работаю: -
<root>
<employees>
<team id="1643">
<member id ="153461" jobtype="permament" division="cleaning" rollnumber="1364"/>
<member id ="153461" jobtype="temporary" division="reception" rollnumber="1326"/>
<member id ="153461" jobtype="parttime" division="cleaning" rollnumber="1312"/>
<member id ="153461" jobtype="permament" division="cleaning" rollnumber="1326"/>
</team>
<team id="1633">
<member id ="153461" jobtype="permament" division="cleaning" rollnumber="1244"/>
<member id ="153461" jobtype="temporary" division="reception" rollnumber="1569"/>
<member id ="153461" jobtype="parttime" division="cleaning" rollnumber="1472"/>
<member id ="153461" jobtype="permament" division="cleaning" rollnumber="1112"/>
</team>
<team id="1674">
<member id ="153461" jobtype="permament" division="cleaning" rollnumber="1488"/>
<member id ="153461" jobtype="temporary" division="reception" rollnumber="1032"/>
<member id ="153461" jobtype="parttime" division="cleaning" rollnumber="1886"/>
<member id ="153461" jobtype="permament" division="cleaning" rollnumber="1445"/>
</team>
</employees>
</root>
То, что я пытаюсь сделать, - это набрать порядковый номер для всех сотрудников, которые относятся к определенным категориям. Поэтому я хочу иметь возможность сделать что-то похожее на "Если jobtype =" постоянный "и подразделение =" чистка ", то echo rollnumber" .
Теперь я попытался разобрать это с помощью PHP, но в основном не получилось. Я потерпел неудачу, потому что я использовал такой синтаксис: -
$team->xpath("//member[@jobtype='permament'][@division='cleaning']/@rollnumber")
Это анализируется как массив. Нет проблем. Я могу вытащить переменные из массива. Нет проблем.
Проблема в том ...
... PHP не может работать с вложенными массивами, которые генерирует этот код. Он хранит исходный массив в памяти и просто анализирует одни и те же переменные снова и снова. Я пытался сбросить массив и т.д. в конце каждого цикла, но это не сработало. PHP только кажется способным уничтожить массив в конце последовательности foreach.
Мне бы очень хотелось узнать, возможно ли это проанализировать с помощью PHP? Есть ли обходной путь для этого? Буду очень признателен за любую помощь / совет.