Я застрял здесь с этой проблемой. У меня есть файл XML, который выглядит следующим образом:XML simplexml_load_file foreach not looping
<?xml version="1.0" encoding="UTF-8"?>
<ListVehicleInventory xmlns="http://www.starstandards.org/STAR"
xmlns:oa="http://www.openapplications.org/oagis"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.starstandards.org/STAR/STAR/Rev1.1/BODs/ListVehicleInventory.xsd" revision="1.0" release="8.1" environment="Production" lang="en-US">
<ApplicationArea>
<Sender>
<Component>XPO</Component>
<Task>VehicleInventory</Task>
<CreatorNameCode>AUTO123</CreatorNameCode>
<SenderNameCode>XPO</SenderNameCode>
<Language>eng</Language>
</Sender>
<CreationDateTime>2013-04-26T00:16:49-0400</CreationDateTime>
<BODId>2013042601</BODId>
<Destination>
<DestinationNameCode>CBB</DestinationNameCode>
</Destination>
</ApplicationArea>
<DataArea>
<VehicleInventory>
<Header>
<TransactionType>Delete</TransactionType>
</Header>
<Invoice>
<Vehicle>
<ModelYear>2011</ModelYear>
<Make>Dodge</Make>
...
DataArea как вся информация транспортного средства Inventory, что я хочу, чтобы вытащить. Я пытаюсь получить foreach, но он найдет только атрибуты VehicleInventory и не перейдет через foreach ко всем данным в файле. У меня есть 3 dataInventory в моем XML для этого тестирования.
Вот мое фактическое кодирование:
$xml = simplexml_load_file($xmlDir . DIRECTORY_SEPARATOR . 'test.xml');
foreach($xml as $vehicle):
echo '<pre>';
print_r($vehicle->VehicleInventory->Invoice->Vehicle);
echo '</pre>';
endforeach;
Результат: показывает мне всю информацию для 1-го VehicleINventory но doens't петли. Что не так?
http://php.net/simplexml.examples-basic – hakre