Разобрать XML-файл с помощью PHP
Как мне разобрать файл XML, отформатированный ниже, используя PHP?
Я хочу сохранить данные из этого XML-файла в моей базе данных SQL, но у меня возникла проблема с анализом данных.
Любая помощь будет оценена.
<?xml version="1.0" encoding="UTF-8" ?>
<Data>
<Record>
<Type>BUILDING</Type>
<Building_ID>0000_00</Building_ID>
<Facility_Name>0000</Facility_Name>
<Facility_Description />
<Status />
<Asset_Owner />
<Address />
<City />
<State />
<Zip />
<Country />
<Mailstops />
<Site_Reference>ML01</Site_Reference>
</Record>
<Record>
<Type>SITE</Type>
<Building_ID>0001</Building_ID>
<Facility_Name>Olympic Base</Facility_Name>
<Facility_Description>N/A</Facility_Description>
<Status>OWNED</Status>
<Asset_Owner>SoCal</Asset_Owner>
<Address>N/A</Address>
<City>LOS_ANGELES</City>
<State>CA</State>
<Zip />
<Country>USA</Country>
<Mailstops />
<Site_Reference />
</Record>
</Data>
Вот код, который я пробовал, который не работает:
$xmlurl = "http://myurl/data.xml";
$XMLDoc = simplexml_load_file("$xmlurl");
foreach($XMLDoc->Data->Record as $Record)
{
echo (string)$Record->Type;
echo (string)$Record->Building_ID;
}
1 ответ
Решение
$XMLDoc
имеет тип SimpleXMLElement.
Я думаю, что вы могли бы изменить эту строку:
foreach($XMLDoc->Data->Record as $Record)
к этой строке:
foreach($XMLDoc->Record as $Record)
Например:
foreach($XMLDoc->Record as $Record)
{
echo (string)$Record->Type;
echo (string)$Record->Building_ID;
echo "<br>";
}
Приведет к:
BUILDING0000_00
SITE0001