PHP SimpleXML 回显

PHP SimpleXML echo

我正在尝试从远程 xml 文件回显以下输出(如果 ktg=001)。 在此先感谢您的帮助

我想要回应的输出:

name2
22 44

name3
55 65

XML 文件位于远程 url:

<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 = '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";
            }
        }
    }
}