<?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];  
      
?>
 
 |