2017-10-31 1 views
-3

PHPで以下のフォーマットのXMLファイルを解析するにはどうすればよいですか?PHPでXMLファイルを解析する

この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; 
} 
+0

試したコードを表示できますか? –

答えて

0

$XMLDocはタイプSimpleXMLElementです。例えば

foreach($XMLDoc->Record as $Record) 

:この行に

foreach($XMLDoc->Data->Record as $Record) 

:私はあなたがこの行を変更することができると思い

foreach($XMLDoc->Record as $Record) 
{ 
    echo (string)$Record->Type; 
    echo (string)$Record->Building_ID; 
    echo "<br>"; 
} 

はになります:

BUILDING0000_00 
SITE0001 
+0

ありがとうございます。それは問題を解決しました。 – Mo12530