У меня есть xml файл со списком поездов, и каждый состав поезда привязан к указанному c trainID. Я написал сценарий php для компиляции этих данных в удобочитаемый для пользователя формат, но не могу найти способ настроить его на чтение и вывод только тех данных, которые связаны с trainID. Я ищу ссылку на страницу отчета о поездке с URL, используя идентификатор поезда. Я пытался сделать функцию, но я не думаю, что это то, что мне нужно, потому что она не работала. Ниже приведена часть моего XML генератора файлов и списков.
<ScnLoader xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<trainList>
<TrainLoader>
<trainID>99991</trainID>
<TrainWasAI>false</TrainWasAI>
<DispatchTrainDirection>0</DispatchTrainDirection>
<ManuallyAppliedSpeedLimitMPH>2147483647</ManuallyAppliedSpeedLimitMPH>
<PreviousSignalInstruction>Clear</PreviousSignalInstruction>
<unitLoaderList>
<RailVehicleStateClass>
<rvXMLfilename>R8_CoveredHopper_PS4750_DGHX01.xml</rvXMLfilename>
<unitType>US_Freightcar</unitType>
<currentRoutePrefix>
<int>320</int>
<int>320</int>
</currentRoutePrefix>
<currentTrackSectionIndex>
<int>1365</int>
<int>1365</int>
</currentTrackSectionIndex>
<startNodeIndex>
<int>0</int>
<int>0</int>
</startNodeIndex>
<distanceTravelledInMeters>
<float>76.0736</float>
<float>90.00746</float>
</distanceTravelledInMeters>
<reverseDirection>
<boolean>true</boolean>
<boolean>true</boolean>
</reverseDirection>
<loadWeightUSTons>111.1</loadWeightUSTons>
<destinationTag>BAR HOU</destinationTag>
<unitNumber>571555</unitNumber>
</RailVehicleStateClass>
</unitLoaderList>
</TrainLoader>
</trainList>
</ScnLoader>
php
<code><?php
$railunit = simplexml_load_file('railUnitList.xml'); //database of railunits
$orders = simplexml_load_file('testdata.xml'); //Where the data comes from to form the list
?><pre><?php print_r($orders); ?>
TrainLoader-> trainID как $ trainID) {$ trainid = "99991"; } foreach ($ orders-> xpath ("RailVehicleStateClass") как $ traininfo) {$ rvXMLfilename = (строка) $ traininfo-> rvXMLfilename; $ UnitType = (строка) $ traininfo-> unitType; $ UnitNumber = (целое) $ traininfo-> unitNumber; $ DestinationTag = (строка) $ traininfo-> destinationTag; $ LoadWeightUSTons = (целое) $ traininfo-> loadWeightUSTons; $ totalUnitCount = $ totalUnitCount + 1; echo ""; эхо " "; echo $ totalUnitCount; echo""; echo" "; foreach ($ railunit-> railUnit as $ ru) {if ((строка) $ ru-> rvXMLfilename == $ rvXMLfilename) {$ message = (строка) $ ru-> reportsMark;}} echo $ message; echo ""; echo ""; echo $ unitNumber; echo ""; echo ""; $ message = "Не найдено!"; Foreach ($ railunit-> railUnit as $ ru) {if ((строка) $ ru-> rvXMLfilename == $ rvXMLfilename) {$ message = (строка) $ ru-> unitType;}}} ?>