Location: PHPKode > scripts > Hierachical Data Object > hierachical-data-object/test_hdobj.php
<html>
<head>
<title>HDObj test page</title>
<style>
body {
	background: #eeeeee;
}
h3 {
	text-align: center;
}
th {
	border: 1px solid black;
	background: #aaaaaa;
}
td {
	text-align: left;
	vertical-align: top;
	border: 1px solid black;
}
</style>
</head>
<body>
<h3>HDObj test page</h3>
<?php
include_once("hdobj.php");

function r_dump_errors(&$obj, $name="root") {
	$obj->dump_errors();
	foreach ($obj->children as $child) {
		r_dump_errors($obj->$child, $child);
	}
}
// load unit test
if (!file_exists("data.xml")) {
	die("no data.xml in ".dirname(__FILE__));
}
$fp = fopen("data.xml", "r");
$xml = fread($fp, filesize("data.xml"));
fclose($fp);
$obj = new HDObj($xml);
//append unit test
if (file_exists("append.xml")) {
	print("(appending xml from append.xml)<br>");
	$fp = fopen("append.xml", "r");
	$appendxml = fread($fp, filesize("append.xml"));
	fclose($fp);
	$obj->append_xml($appendxml, 1);
}
print("hdobject's error log:<br>");
$obj->dump_errors();
/*
print("<hr>");
$obj->printout();
*/
print("<hr>");
print("and now the hdobject reconstructs xml from its structure:<br>");
print($obj->toXML(true, true));
?>
<hr>
how about we do something more constructive with the object?
<?
	foreach ($obj->form as $form) {
		print("<table><thead><th colspan=\"2\">Form #"
			.$form->get_attrib("id")."</th></thead>");
		foreach($form->action as $action) {
			print("<tr><td>Action #".$action->get_attrib("id")."</td>");
			print("<td><table>");
			print("<tr><td>name</td><td>".$action->name."</td></tr>");
			print("<tr><td>description</td><td>".$action->descr."</td></tr>");
			print("<tr><td>type</td><td>".$action->type."</td></tr>");
			print("</table></td></tr>");
		}
		print("</table>");
	}
?>
</body>
</html>
Return current item: Hierachical Data Object