Pull parser
No |
Name |
Role |
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 "$no | \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 "$name | \r\n";
}
if($rdr->localName == 'role') {
$role = $accdata;
echo "$role | \r\n";
}
if($rdr->localName == 'employee') {
echo "
\r\n";
}
break;
}
}
?>