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
Post a Comment