PHP Classes

File: demo.php

Recommend this page to a friend!
  Classes of Mike Neugebauer   XML Node   demo.php   Download  
File: demo.php
Role: Example script
Content type: text/plain
Description: XHTML document generation demo
Class: XML Node
Generate XML documents on the fly
Author: By
Last change:
Date: 20 years ago
Size: 2,422 bytes
 

Contents

Class file image Download
<?php

// Author: Mike Neugebauer

// Class which builds XML nodes
include_once( "XmlNode.php" );


 
// This is a fairly crude example which demonstrates how XmlNode can
 // be used to build and display XHTML data.
 
 // It might take a little getting used to, but it's better that trying
 // to remember to put all the closing tags in the right place.
     
   
 // Begin building an XHTML document.

 
$doc = new XmlNode( "html", EMPTY_CDATA, NO_ATTRS, null, false );
 
$head = new XmlNode( "head", EMPTY_CDATA, NO_ATTRS, $doc );
 
$curr = new XmlNode( "title", "Welcome to the XmlNode Demo", NO_ATTRS, $head );
 
$body = new XmlNode( "body", EMPTY_CDATA, array( "bgcolor"=>"#cccccc" ), $doc );
 
$div = new XmlNode( "div", EMPTY_CDATA, array( "align"=>"center" ), $body );
 
$curr = new CdataNode( "A bunch", $div );
 
$img = new XmlNode( "hr", EMPTY_CDATA, array( "noshade"=>"noshade" ), $div );
 
$para = new XmlNode( "p", EMPTY_CDATA, array( "align"=>"left" ), $div, true );
 
$curr = new CdataNode( "of ", $para );
 
$curr = new XmlNode( "b", "stuff ", NO_ATTRS, $para );
 
$curr = new XmlNode( "i", "thrown into ", NO_ATTRS, $div );
 
$curr = new CdataNode( "a Div.", $div );
 
 
// You can also add child/children using the addChild() and addChildren() methods
 
$simple_br = new XmlNode( "br", EMPTY_CDATA );
 
$body->addChild( $simple_br );
 
$body->addChildren ( array( $simple_br, $simple_br ) );
 
 
// Each child is sent a reference to its parent.
 
$table = new XmlNode( "table", EMPTY_CDATA, array( "border"=>"2", "align"=>"center", "width"=>480 ), $body );
 
$curr_row = new XmlNode( "tr", EMPTY_CDATA, array( "align"=>"left" ), $table );
 
$curr_cell = new XmlNode( "td", "piece 1", array( "bgcolor"=>"#666666" ), $curr_row );
 
$curr_cell = new XmlNode( "td", "piece 2", array( "bgcolor"=>"#00ff00" ), $curr_row );
 
$curr_row = new XmlNode( "tr", EMPTY_CDATA, array( "align"=>"right" ), $table );
 
$curr_cell = new XmlNode( "td", "piece 3", array( "bgcolor"=>"#ff0000" ), $curr_row );
 
$curr_cell = new XmlNode( "td", "piece 4", array( "bgcolor"=>"#0000ff" ), $curr_row );
    
 
// write XHTML document
 
echo ( $doc->getXhtml() );

 
// Uncomment the line below to write the XHTML document to a file
 // $doc->writeToFile( "/tmp/testnode.html" );
 
 // Convert XHTML to SimpleXML, run an XPath query
 
$xml_obj = $doc->toSimpleXml();
 
$get = $xml_obj->xpath( "/html/head/title" );
 echo
"Grab Title: " . $get[0];
    
?>