2017-01-04 1 views
0

다음과 같이 xml 파일이 있습니다.codeigniter에서 xml 파일 세부 정보를 읽고 표시합니다.

컨트롤러의 도움을 받아보기에서 이름과 크기를 읽고 표시하려면 어떻게해야합니까?

<?xml version="1.0" encoding="UTF-8"?> 
<QCARConfig xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="qcar_config.xsd"> 
    <Tracking> 
    <ImageTarget name="news_opera_house" size="1200.000000 755.705811" /> 
    <ImageTarget name="news_istambul" size="700.000000 415.091461" /> 
    </Tracking> 
</QCARConfig> 

답변

0

다음은이 작업을보다 쉽게하기 위해 사용하는 SimpleXML 라이브러리입니다./application/libraries 폴더에 압축을 풉니 다.

//Load SimpleXML library 
$this->load->library('simplexml'); 
$xmlData = $this->simplexml->xml_parse($xml); //where $xml is your xml to parse 

var_dump($xmlData); //You should see an multi dimensional array for each node 

필요한 데이터에 액세스하기 위해 적절한 배열을 반복하면됩니다.

0

보기 파일에 크기와 이름을 표시하려면 먼저 컨트롤러에서 이름과 크기를 가져야합니다.

public function index(){ 

$xml = '<?xml version="1.0" encoding="UTF-8"?> 
<QCARConfig xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="qcar_config.xsd"> 
    <Tracking> 
    <ImageTarget name="news_opera_house" size="1200.000000 755.705811" /> 
    <ImageTarget name="news_istambul" size="700.000000 415.091461" /> 
    </Tracking> 
</QCARConfig>'; 

$xmlcont = new SimpleXMLElement($xml); 

foreach ($xmlcont as $value) { 
    $val = $value->ImageTarget; 
    foreach ($val as $key) { 
     //echo $key['size']."<br/>"; 
     //echo $key['name']."<br/>"; 
     $data = array('size' => $key['size'],'name' => $key['name']); 
     $this->load->view('main_view', $data); //passing value to view 

    } 

} 

} 

이후 당신은 단순히 $data

<?php print_r($data);?> 
를 인쇄하여 view의 값을 얻을 수 있습니다
관련 문제