2017-01-04 3 views
1

PHP SimpleXML Parser를 사용하여 John과 Mike를 어떻게 울릴 수 있습니까? 모두 다른 항목이있을 때PHP SimpleXML Parser Children

<DATA> 
    <KEY> 
    <item0> 
     <RTS>John</RTS> 
    </item0> 
    <item1> 
     <RTS>Mike</RTS> 
    </item1> 
    </KEY> 
</DATA> 

이 작동하지만, 당신이 ("오류 : 개체 만들기 실패") $ XML = simplexml_load_file ("example.xml")를 사용하거나 죽게하려고하면,

그것은 당신이 지금까지 시도 코드를 제공 할 수 simple_load_file

<?php 
$xml = 
"<?xml version='1.0' encoding='UTF-8'?> 
<DATA> 
<KEY> 
<item0> 
<RTS>John</RTS> 
</item0> 
<item1> 
<RTS>Mike</RTS> 
</item1> 
</KEY> 
</DATA>"; 

function xml2array($xml) 
{ 
    $arr = array(); 

    foreach ($xml as $element) 
    { 
     $tag = $element->getName(); 
     $e = get_object_vars($element); 
     if (!empty($e)) 
     { 
      $arr[$tag] = $element instanceof SimpleXMLElement ? xml2array($element) : $e; 
     } 
     else 
     { 
      $arr[$tag] = trim($element); 
     } 
    } 

    return $arr; 
} 

$xml = new SimpleXMLElement($xml); 
$data = xml2array($xml); 
foreach ($data as $key => $value) { 
    foreach ($value as $key1 => $val1) { 
     echo $val1['RTS']; echo "<br/>"; 
    } 
} 
?> 
+0

작동하지 않습니다? – fpietka

+0

방금 ​​코드 –

답변

0
<?php 

    /// load your external xml file here//// 
    if (file_exists('file.xml')) { 
     $xml = simplexml_load_file('file.xml'); 

     // $xml = new SimpleXMLElement($xml); 
     $data = xml2array($xml); 
     foreach ($data as $key => $value) { 
      foreach ($value as $key1 => $val1) { 
       echo $val1['RTS']; echo "<br/>"; 
      } 
     } 
    } else { 
     exit('Failed to open test.xml.'); 
    } 
    function xml2array($xml) 
    { 
     $arr = array(); 

     foreach ($xml as $element) 
     { 
      $tag = $element->getName(); 
      $e = get_object_vars($element); 
      if (!empty($e)) 
      { 
       $arr[$tag] = $element instanceof SimpleXMLElement ? xml2array($element) : $e; 
      } 
      else 
      { 
       $arr[$tag] = trim($element); 
      } 
     } 

     return $arr; 
    } 

?> 
+0

을 추가하면 좋지만로드 파일을 실행하면 작동하지 않습니다. –

+0

잘 작동하지만 추가 할 때 작동하지 않습니다. $ xml = simplexml_load_file ("file.xml") 또는 죽습니다 ("오류 : 개체 생성 실패"); –

+0

아파치 설정을 확인하십시오. 'phpinfo()'. libxml이 설치 되었습니까? –