Pull parser

XML(file_get_contents(XML_FILE)); // process file $accdata = ''; while($rdr->read()){ switch ($rdr->nodeType) { // accumulate text case XMLReader::TEXT: $accdata .= $rdr->value; break; case XMLReader::ELEMENT: // if employee element find no and print if($rdr->localName == 'employee') { $no = $rdr->getAttribute('no'); echo "\r\n"; echo "\r\n"; } // if sub elements name or role start accumulating if($rdr->localName == 'name' || $rdr->localName == 'role') { $accdata = ''; } break; case XMLReader::END_ELEMENT: // if sub elements name or role stop accumulating and print if($rdr->localName == 'name') { $name = $accdata; echo "\r\n"; } if($rdr->localName == 'role') { $role = $accdata; echo "\r\n"; } if($rdr->localName == 'employee') { echo "\r\n"; } break; } } ?>
No Name Role
$no$name$role