Есть файл XML содержащий порядка 100 000 строк обновляемый раз в месяц. Нужно данные из этого файла вносить в таблицу базы данных сайта на MySQL
Кусок файла XML:
<?xml version="1.0" encoding="UTF-8"?>
<document>
<device_types>
<type unit="1" name="567" id="1"/>
</device_types>
<location name="1">
<street name="street">
<house number="72А">
<apartment number="3">
<account id="1401160037" person="person">
<device id="168576" value="157" date="2014-10-23 19:32:19" type="1"/>
<device id="168716" value="30" date="2014-10-23 19:32:19" type="1"/>
</account>
</apartment>
<apartment number="36">
<account id="1401760040" person="person">
<device id="158675" value="37" date="2014-10-24 17:33:43" type="1"/>
<device id="164798" value="45" date="2014-10-24 17:33:43" type="1"/>
</account>
</apartment>
<apartment number="48">
<account id="1410760030" person="person">
<device id="318922" value="11" date="2014-10-25 17:39:36" type="1"/>
<device id="318977" value="39" date="2014-10-25 17:39:36" type="1"/>
</account>
</apartment>
</house>
</street>
<street name="street">
<house number="7">
<apartment number="60">
<account id="1503502005" person="person">
<device id="263225" value="174" date="2014-10-23 08:23:51" type="1"/>
</account>
</apartment>
</house>
<house number="5">
<apartment number="25">
<account id="1503180057" person="person">
<device id="170170" value="370" date="2014-10-23 19:01:35" type="1"/>
</account>
</apartment>
</house>
</street>
<street name="street">
<house number="1">
<apartment number="90">
<account id="1602800071" person="person">
<device id="31210592" value="12" date="2014-10-23 09:17:16" type="1"/>
<device id="312786" value="10" date="2014-10-23 09:17:16" type="1"/>
</account>
</apartment>
</house>
<house number="2">
<apartment number="50">
<account id="1602800033" person="person">
<device id="2106610" value="119" date="2014-10-23 15:36:39" type="1"/>
</account>
</apartment>
<apartment number="65">
<account id="1602801017" person="person">
<device id="227470" value="52" date="2014-10-25 17:09:02" type="1"/>
</account>
</apartment>
<apartment number="35">
<account id="1600170081" person="person">
<device id="10130061225706" value="15" date="2014-10-25 19:08:11" type="1"/>
<device id="10136134203" value="60" date="2014-10-25 19:08:11" type="1"/>
</account>
</apartment>
</house>
</street>
</location>
</document>
Пытаюсь разобрать файл через SimpleXML этим кодом:
<?php
$xmlURL = "xml.xml";
$sxml = simplexml_load_file($xmlURL);
foreach($sxml->location->street as $street) {
foreach($sxml->location->street->house as $house) {
$house_number = stripslashes($house->apartment->attributes()['number']);
echo "<br>'$house_number'";
$app_number = stripslashes($house->attributes()['number']);
echo "_'$app_number'";
$id = ($house->apartment->account->attributes()['id']);
echo "_'$id'";
}
}
?>
В результате разбора происходит получение данных только из первого элемента вложения Street и при этом повторяются одни и те же данные столько раз, сколько есть элементов street, то есть из приложеного куска xml:
'3'_'72Рђ'_'1401160037'
'3'_'72Рђ'_'1401160037'
'3'_'72Рђ'_'1401160037'
А мне нужно чтобы данные брались из всех элементов. Подскажите пожалуйста, как можно это сделать?