xml - Call to undefined method DOMNodeList::getElementsByTagName() PHP -


i've xml file following:

<subject kl="1">     <subjectname>if-else</subjectname>     <theory>        <tutorial>...</tutorial>        <full>...</full>     </theory> </subject> 

and try extract following php code:

$subjects = $doc->getelementsbytagname( "subject" ); foreach( $subjects $subject ) {       $knowledgelevel = $subject->getattribute( "kl" );       $names = $subject->getelementsbytagname( "subjectname" );       $name = $names->item(0)->nodevalue;        $theory = $subject->getelementsbytagname( "theory" );       $shorts = $theory->getelementsbytagname( "tutorial" );       $short = $shorts->item(0)->nodevalue;       $longs = $theory->getelementsbytagname( "full" );       $long = $longs->item(0)->nodevalue;        $subs [] = array (             'knowledgelevel' => $knowledgelevel,             'name' => $name,             'shorttheory' => $short,             'longtheory' => $long       ); } 

but browser give me error

call undefined method domnodelist::getelementsbytagname() 

in line 8 of code snippet. don't why shouldn't work. help?

sample use getelementsbytagname

$xml = <<< xml <?xml version="1.0" encoding="utf-8"?> <subject kl="1">     <subjectname>if-else</subjectname>     <theory>        <tutorial>...</tutorial>        <full>...</full>     </theory> </subject> xml;  $dom = new domdocument; $dom->loadxml($xml); $books = $dom->getelementsbytagname('subject'); foreach ($books $book) {     echo $book->nodevalue, php_eol; } 

try in loop

$theory = $subject->getelementsbytagname( "theory" ); $tutorial = $theory->item(0)->getelementsbytagname( "tutorial" )->item(0)->nodevalue; 

Comments