2016-09-19 86 views
1

我想從遠程xml文件中回顯以下輸出(如果ktg = 001)。 預先感謝任何幫助PHP SimpleXML echo

輸出,我想回應:

<aaa id="AA" epg="AA" ktg="001"> 
<Name>john</Name> 
<Customer id="0001"> 
    <Name>name2</Name> 
    <Dfr>0</Dfr> 
    <Date>09/19/2016 13:20:00</Date> 
    <ktopt>No</ktopt> 
    <SOS type="BB" id="0002"> 
     <age name="df1">22</age> 
     <age name="df2">44</age> 
    </SOS> 
</Customer> 
<Customer id="0002"> 
    <Name>name3</Name> 
    <Dfr>0</Dfr> 
    <Date>09/20/2016 06:20:00</Date> 
    <Ktopt>No</Ktopt> 
    <SOS type="CC" id="0004"> 
    <age name="df1">55</age> 
    <age name="df2">65</age> 
    </SOS> 
</Customer> 
</aaa> 

PHP我的例子:

<?php 

$url = 'http://remotexmllocationonforexample'; 
$obj = simplexml_load_file($url); 
    foreach ($obj->aaa as $aaa) { 
    if ($aaa['ktg'] == '001') {  
    echo $aaa->Customer->Name ; 
    echo ' <br />'; 
    echo $aaa->Customer->SOS ; 
    } 
} 
?> 
位於遠程URL

name2 
22 44 

name3 
55 65 

XML文件

+0

您的xml無效。 未關閉,標記有關閉標記 – user1915746

+0

ok確定它們是否爲空。 (錯誤)。你有什麼建議我的問題? – Chris

回答

0

您可以嘗試下面的代碼:

$url = 'http://remotexmllocationonforexample'; 
$obj = simplexml_load_file($url); 

foreach ($xml as $aaa) { 
    $attr = $aaa->attributes(); 
    if($attr['ktg']=='001') { 
     $xmlData = get_object_vars($aaa); 
     foreach($xmlData['Customer'] as $cust) { 
      $custDetais = get_object_vars($cust); 
      echo "Name: ".$custDetais['Name'].PHP_EOL; 
      foreach($custDetais['SOS'] as $sos) { 
       echo $sos[0]."\t"; 
      } 
     } 
    } 
} 
+0

謝謝你的回答解決了我的問題 – Chris