<?php /* * test_xml_parser.php * * @(#) $Id: test_xml_parser.php,v 1.10 2012/09/05 09:27:07 mlemos Exp $ * */
?><html> <head> <title>Test for Manuel Lemos's XML parser PHP class</title> </head> <body> <h1 align="center">Test for Manuel Lemos's XML parser PHP class</h1> <hr> <?php require("xml_parser.php");
Function DumpArray(&$array,$indent) { for(Reset($array),$node=0;$node<count($array);Next($array),$node++) { echo $indent."\"".Key($array)."\"="; $value=$array[Key($array)]; if(GetType($value)=="array") { echo "\n".$indent."[\n"; DumpArray($value,$indent."\t"); echo $indent."]\n"; } else echo "\"$value\"\n"; } }
Function DumpStructure(&$structure,&$positions,$path) { echo "[".$positions[$path]["Line"].",".$positions[$path]["Column"].",".$positions[$path]["Byte"]."]"; if(GetType($structure[$path])=="array") { echo "<".$structure[$path]["Tag"]; if(IsSet($structure[$path]["Attributes"])) { $attributes = $structure[$path]["Attributes"]; $ta = count($attributes); for(Reset($attributes), $a = 0; $a < $ta; Next($attributes), ++$a) { $attribute = Key($attributes); echo " ", $attribute, "=\"", HtmlSpecialChars($attributes[$attribute]), "\""; } } echo ">"; for($element=0;$element<$structure[$path]["Elements"];$element++) DumpStructure($structure,$positions,$path.",$element"); echo "</".$structure[$path]["Tag"].">"; } else echo $structure[$path]; }
$file_name="example.xml"; $error=XMLParseFile($parser,$file_name,1,$file_name.".cache"); if(strcmp($error,"")) echo "<H2><center>Parser error: ".$error." Line: ".$parser->error_line." Column: ".$parser->error_column." Byte index: ".$parser->error_byte_index."</center></H2>\n"; else { echo "<H2><center>Parsed file structure</center></H2>\n"; echo "<P>This example dumps the structure of the elements of an XML file by displaying the tags and data preceded by their positions in the file: line number, column number and file byte index.</P>\n"; echo "<PRE>"; DumpStructure($parser->structure,$parser->positions,"0"); echo "</PRE>\n"; } ?></body> </html>
|