2012-06-26 5 views
2

나는 다음과 같은 XML에서 INTRO 태그의 SECTION 속성의 값을 반환하는 것을 시도하고있다 : myxml.xml의PHP, XML 속성을 얻는 방법?

샘플 :

<INTRO SECTION="ONE"> 
    <TEXT>Hello</TEXT> 
</INTRO> 
<INTRO SECTION="TWO"> 
    <TEXT>Goodbye</TEXT> 
</INTRO> 

내 PHP :

$doc = new DOMDocument(); 
$doc->load('myxml.xml'); 
$intros = $doc->getElementsByTagName("INTRO"); 

foreach($intros as $intro) { 
echo $intro ->get_attribute('SECTION'); 
} 

I을 다음 오류가 발생합니다 :

Call to undefined method DOMElement::get_attribute()

내가 뭘 잘못하고 있는지 알아? 어떤 종류의 응답자도 친절합니다.

답변

6

DOMElement::getAttribute()

$intro ->getAttribute('SECTION'); 
+0

덕분에 @KingCrunch ... getAttribute를 get_attribute하지 ... 내가 다음 이유로 인해 링크의 혼란 얻고 있었다 ...에 http : // PHP .net/manual/en/function.domelement-get-attribute.php ... 감사합니다. – jon

+0

'DOM'과'DOM XML (PHP4)'는 두 개의 별도 확장입니다. http://php.net/refs.xml을 참조하십시오. – KingCrunch

0

이 시도 :

$xml = simplexml_load_file($file); 
    .... 
    $attr=$intro->attributes(); 
    echo $attr['SECTION']; 
+0

응답 해 주셔서 감사합니다. 그러나 다음과 같은 오류가 발생합니다. 정의되지 않은 메서드 DOMElement :: attributes()를 호출합니다. 잘못된 설정이 있다고 생각합니까? 내 PHP? – jon

+0

어떤 버전이 있습니까? – Xenione

+0

5.3 ... 그러나 KingCrunch가 대답했습니다 ... getAttribute가 get_attribute가 아니어야합니다 ... 다음 링크 때문에 혼란스러워졌습니다 ... php.net/manual/en/function.domelement-get-attribute.php ... 당신의 도움을 주셔서 감사합니다, 많이 주셔서 감사합니다 ... J – jon

관련 문제