2012-06-26 70 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