2013-06-12 5 views
0

PHP 라이브러리 SimpleXML을 사용하여 내 사이트의 기존 XML 파일에서 데이터를 가져 와서 HTML 페이지에 추가합니다.XML에서 데이터를 내 HTML 페이지로 가져 오기

<?php 
$eid = 94341; 
$pid = 3042; 
$ver = 1; 
$xmlPath = 'https://media.vivastaff.com/designs/' . $eid . '/xml-' . $pid . '-' . $ver . '.xml'; 
?> 

<div id="cardFront"><img src="https://media.vivastaff.com/designs/<?php echo simplexml_load_file("$xmlPath")->DTilt->frontSide->imagePath; ?>"</div> 

그것은이다

<DTilt> 
    <frontSide imagePath="94341/20130510150043_ACXZ0001C-01.png"></frontSide> 
    <backSide imagePath="94341/20130510150043_ACXZ0001C-02.png"></backSide> 
</DTilt> 

다음 나는 XML 데이터를 끌어 사용하고 PHP 코드는 다음

https://media.vivastaff.com/designs/94341/xml-3042-1.xml에있는 XML에서 미리보기입니다 XML 파일에서 데이터를 가져 오지 않고 아무 것도 반환하지 않습니다. 나는 이것의 많은 변이를 시도했다, 그러나 아무것도 작동하는 것을 보이지 않는다. "imagePath"를 올바르게 지정하지 않았을 수도 있지만 확실하지는 않습니다. 이 일에 내가 뭘 잘못하고 있니?

+0

당신은 기본적으로 어떻게 SimpleXML을의 속성 노드에 액세스 할 수 묻는 : 어떻게 SimpleXML을 가지는 속성을 얻을?] (http://stackoverflow.com/q/3410520/367456를) - 읽기 SimpleXML을 사용하기 전에 기본 사용법 : http://php.net/simplexml.examples-basic – hakre

답변

1

URL이 작동하는지 확인하십시오. 위 코드가 위의 XML 데이터를 읽는 것 외에 잘 작동하는지 확인하십시오.

<?php 
$eid = 94341; 
$pid = 3042; 
$ver = 1; 
$xmlPath = 'https://media.vivastaff.com/designs/' . $eid . '/xml-' . $pid . '-' . $ver . '.xml'; 

$dom = new DOMDocument(); 
$dom->load($xmlPath); 
$frontSide = $dom->getElementsByTagName('frontSide'); 
$image = $frontSide->item(0)->getAttribute('imagePath'); 
?> 
<div id="cardFront"><img src="https://media.vivastaff.com/designs/<?php echo $image; ?>"</div> 
+0

완벽하게 작동했습니다. DOM을 사용하여 simplexml_load_file 대신로드해야합니다. 감사. – Matto

+0

@Matto SimpleXML 라이브러리에 대한 경험이 없지만 오랫동안 DOM을 사용해 왔으며 대부분의 PHP 빌드에서 내장 기능을 사용하기 쉽기 때문에 쉽게 작업 할 수 있습니다. 다행이 당신을 위해 일 했어. – Prix

+0

예, SimpleXML은 2 줄 또는 1 줄이지만 DOMDocument만큼 뚜렷하고 유연하지는 않습니다. 그러나 둘 다 긴밀한 자매 도서관이고, 평소와 같이 무언가를하는 방법은 여러 가지가 있습니다. – hakre