2013-12-18 5 views
0

은 내가 XML 데이터 내가 다음 코드PHP를 사용하여 XML 노드의 속성 값을 얻는 방법은 무엇입니까?

$xml = new SimpleXMLElement($string); 

$result = $xml->xpath("//DATA/STOREITEMS"); 

foreach ($result as $node) { 
    echo $node->CREATED["date"]; 
    echo "<br>"; 
} 

을 시도했지만 한 PHP

를 사용하여 노드의 날짜를 인쇄하기 위해 필요한이

<DATA> 
<STOREITEMS> 
    <CREATED date="Tue Oct 9 5:30:01 BST 2012"> 
    <CATEGORY id="442" name="Hen And Stag Nights"></CATEGORY> 
    <CATEGORY id="69" name="Games"></CATEGORY> 
    <CATEGORY id="252" name="Love Zone"></CATEGORY> 
    <CATEGORY id="202" name="Spotlight Items"></CATEGORY> 
    </CREATED> 
    <CREATED date="Wed Oct 10 5:30:01 BST 2012"> 
    <CATEGORY id="442" name="Hen And Stag Nights"></CATEGORY> 
    <CATEGORY id="69" name="Games"></CATEGORY> 
    <CATEGORY id="252" name="Love Zone"></CATEGORY> 
    <CATEGORY id="202" name="Spotlight Items"></CATEGORY> 
    </CREATED> 
</STOREITEMS> 
<DATA> 

으로 PHP에서 $string 변수에 저장해야 함 항상 반환 만

Tue Oct 9 5:30:01 BST 2012 

왜 돌아 오지 않는가

Tue Oct 9 5:30:01 BST 2012 
Wed Oct 10 5:30:01 BST 2012 

해결 방법?

답변

0

$result은 하나의 목록입니다 (상점 항목은 하나뿐입니다). 따라서 foreach은 한 번만 반복되며, 참조되는 CREATED는 첫 번째 자식입니다.

이 시도 : 형제

$xml = new SimpleXMLElement($string); 

$result = $xml->xpath("//DATA/STOREITEMS/CREATED"); // note the change 

foreach ($result as $node) { 
    echo $node["date"]; // note the change 
    echo "<br />"; 
} 
+0

감사합니다 감사합니다 :) –

+0

기꺼이 도와, 코딩 해피! – bishop

관련 문제