1. <?php 
  2. // 该代码是使用PHP的SAX方式对指定XML文件进行解析并打印Tag 
  3. $file = "book.xml"
  4. $depth = array(); 
  5. function startElement($parser$name$attrs){ 
  6.     global $depth
  7.     for ($i = 0; $i < $depth[$parser]; $i++) { 
  8.         print "  "
  9.     } 
  10.     print "$name\n"
  11.     $depth[$parser]++; 
  12. function endElement($parser$name){ 
  13.     global $depth
  14.     $depth[$parser]--; 
  15. $xml_parser = xml_parser_create(); 
  16. xml_set_element_handler($xml_parser"startElement""endElement");
  17.  
  18. // SAX方式打开xml文件,并按字节进行读取解析,对于ionCube来说,就是调整该处if (!($fp = fopen($file, "r"))) { 
  19.     die("XML File Can?ft Open!"); 
  20. while ($data = fread($fp, 4096)) { 
  21.     if (!xml_parse($xml_parser$datafeof($fp))) { 
  22.         die(sprintf("XML Error: %s , %d Line!Error! "
  23.                     xml_error_string(xml_get_error_code($xml_parser)), 
  24.                     xml_get_current_line_number($xml_parser))); 
  25.     } 
  26. xml_parser_free($xml_parser); 
  27. ?>