2012-11-10 72 views
0

我得到Fatal error: Call to undefined method DOMElement::getNamedItem(),我不知道爲什麼。這絕對是我不明白這個DOM文檔的東西。這裏是我的代碼:DOMDocument,getNamedItem和nodeValue

// load content of db 
$dom = new DOMDocument('1.0'); 
$dom->load($file); 

// make domnodelist with girls 
$girls = $dom->getElementsByTagName('girl'); 

foreach($girls as $girl) 
{ 
    $username = $girl->getNamedItem('username'); 
    echo $username->nodeValue; 
} 

這裏是我的xml:

<root> 
    <girl username="xxxx" id="2012111003051009"> 
    <url>xxxx</url> 
    <replied>false</replied> 
    <thumbnail>dbs/db-thumbnails/xxxx.jpeg</thumbnail> 
    <blacklisted>false</blacklisted> 
    </girl> 
</root> 

回答

1

username是的DOMElement $女孩的屬性。所以你需要使用的是getAttribute

foreach($girls as $girl) 
{ 
    $username = $girl->getAttribute('username'); 
    // or if using getNamedItem 
    // $username = $girl->attributes->getNamedItem ('username')->nodeValue 
    echo $username; 
} 
+0

我用 '的foreach($女孩$女孩) { $ USERNAME = $姑娘 - >的getAttribute( '女'); print_r($ username); }' 和它沒有在我的瀏覽器 –

+0

打印任何東西,這是'的getAttribute(「用戶名」)' – air4x

+0

感謝它的工作,我使用的是相同的XML文件和DOM文檔獲得另一個錯誤: '$用戶名= XXXX; $ girl = $ dom-> getAttributeNode($ username);' –