아래

2013-02-08 2 views
0

DataTable을 사용하여 PHP에서 XML의 데이터를 표시하는 방법을 나는 PHP는 방법에 REST의 웹 서비스 호출의 응답으로부터 점점 오전 XML입니다아래

<?xml version="1.0" encoding="UTF-8" standalone="yes"?> 
<response> 
    <products> 
     <capacity>1</capacity> 
     <id>ae123</id> 
     <group>Per</group> 
     <name>xxxx</name> 
    </products> 
    <records>1 
    </records> 
</response> 

WebService에와 점점 호출 내 PHP는 방법 XML 데이터는

function getAjaxProducts(){ 

    $path="my webservice url"; 
    $ch = curl_init(); 
    curl_setopt($ch, CURLOPT_URL,$path); 
    curl_setopt($ch, CURLOPT_FAILONERROR,1); 
    curl_setopt($ch, CURLOPT_FOLLOWLOCATION,1); 
    curl_setopt($ch, CURLOPT_RETURNTRANSFER,1); 
    curl_setopt($ch, CURLOPT_TIMEOUT, 60); 
    curl_setopt($ch, CURLOPT_HTTPHEADER, array('Content-type:  application/json')); 
    $retValue = curl_exec($ch); 
    $httpCode = curl_getinfo($ch, CURLINFO_HTTP_CODE); 

    if($httpCode>400) { 
      $retValue="<error><errorcode>".$httpCode."</errorcode></error>"; 
      echo $retValue; 
    } 

    curl_close($ch); 
    echo $retValue; 
} 

$retValue XML 파일이 포함되어 있습니다.

전적으로 php을 처음 사용하고 xml의 datatable에 제품 세부 정보를 표시하는 방법을 알지 못합니다. 이것에 대한 아이디어가 있으십니까?

답변

0

simplexml_load_string() 트릭을

$retValue = '<response> 
    <products> 
     <capacity>1</capacity> 
     <id>ae123</id> 
     <group>Per</group> 
     <name>xxxx</name> 
    </products> 
    <records>1 
    </records> 
</response>'; 


$xml = simplexml_load_string($retValue); 
echo $xml->products->capacity . "<br>\n"; 
echo $xml->products->group . "<br>\n"; 
echo $xml->products->name . "<br>\n"; 
echo $xml->records . "<br>\n"; 

See it in action

+0

@ 존 .... 그 작동하지를해야한다. echo 부분이 공백으로 표시됩니다. – amrita

+0

내 링크에서 볼 수 있듯이 XML 값이'simplexml_load_string()'으로 올바르게 전달되는지 확인해야합니다. 'var_dump ($ retValue)'를 사용하여 예상 값을 얻었는지 확인하십시오. –

+0

@john .... "echo $ retValue;"할 때 나는 xml 파일을 얻지 만, "echo $ xml"을 simplexml_load_string ($ retValue) 다음에 수행하면 비어있게됩니다. 나는 문제가 어디에 있는지 이해하지 못한다. 도와주세요. – amrita