2012-06-26 73 views
2

我試圖返回從以下XML的INTRO標籤的SECTION屬性的值:PHP,XML如何獲取屬性?

myxml.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'); 
} 

我出現以下錯誤:

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 ::屬性()....你認爲有東西不正確地設置在我的PHP? – jon

+0

你有哪個版本? – Xenione

+0

5.3 ...但是KingCrunch已經回答了它...應該是getAttribute不是get_attribute ...我因爲以下鏈接而感到困惑... php.net/manual/en/function.domelement-get-attribute.php ...感謝您的幫助,雖然,非常感謝... J – jon