Login   Register  
PHP Classes
elePHPant
Icontem

File: extract_valid_xml_data.php

Recommend this page to a friend!
Stumble It! Stumble It! Bookmark in del.icio.us Bookmark in del.icio.us
  Classes of Manuel Lemos  >  Generic XML parser class  >  extract_valid_xml_data.php  >  Download  
File: extract_valid_xml_data.php
Role: Example script
Content type: text/plain
Description: Example of how to validate and extract data from a XML document
Class: Generic XML parser class
Arbitrary XML parser.
Author: By
Last change:
Date: 2012-09-05 03:29
Size: 1,818 bytes
 

Contents

Class file image Download
<?php
/*
 * extract_valid_xml_data.php
 *
 * @(#) $Id: extract_valid_xml_data.php,v 1.2 2012/09/04 10:08:03 mlemos Exp $
 *
 */

?><html>
<head>
<title>Validate and extract data from XML document</title>
</head>
<body>
<h1 align="center">Validate and extract data from XML document</h1>
<hr>
<?php
    
require('xml_parser.php');

    
$file_name 'example.xml';
    
$error XMLParseFile($parser$file_name1$file_name.'.cache');
    if(
strlen($error) == 0)
    {
        
/*
         * The types array defines the types and structure of the document
         * to be validated before extracting its data values.
         */ 
        
$content_types = array(
            
'CONTENTS'=>array(
                
'type'=>'hash',
                
'types'=>array(
                    
'OBJECT'=>array(
                        
'type'=>'hash',
                        
/* allow tag to appear an unlimited number of times */
                        
'maximum'=>'*',
                        
'types'=>array(
                            
'NAME'=>array(
                                
/* The default maximum and minimum times is 1 for required tags */
                                
'type'=>'text',
                            ),
                            
'CLASS'=>array(
                                
'type'=>'text',
                            ),
                            
'ATTRIBUTES'=>array(
                                
'type'=>'path',
                                
/* make it optional by not requiring a minimum number of times to appear */
                                
'minimum'=>0,
                            ),
                        )
                    )
                )
            )
        );
        
$root_path '';
        
$root_element 'CONTENTS';
        
$hash 1;
        
$error $parser->ExtractElementData($root_path$root_element$content_types$hash$contents);
    }

    if(
strlen($error))
        echo 
'<h2 align="center">Parser error: '$error'</h2>';
    else
    {
        echo 
'<h2  align="center">Extracted data structure</h2>';
        echo 
'<p>This example dumps the structure and values of the XML file.</p>';
        echo 
'<pre>';
        
/*
         * The resulting associative array has the tag names and values
         * that were found and validated in the XML document
         */
        
var_dump($contents);
        echo 
'</pre>';
    }
?></body>
</html>