<?php
/**
* test1.php
* $Header: d:/cvs/classistd/x2a/test1.php,v 1.5 2004/02/10 21:51:06 Administrator Exp $
* Test module for CXml2Array
*
*/
require 'CXml2Array.php';
$InName='test.xml';
if(!$TplDom = domxml_open_file(realpath($InName)))
trigger_error('Error parsing the file ',E_USER_ERROR);
$root = $TplDom->document_element();
$x=new CXml2Array($root);
echo '<hr>';
echo 'Dump the array<br>';
$x->ArrayDump();
// die();
echo '<hr>';
// test the retrieve functions
echo 'Exist tag pippo ? '.(($x->ExistTag('pippo'))?'Y':'N').'<br>';
echo 'Exist tag menul ? '.(($x->ExistTag('menul'))?'Y':'N').'<br>';
// Must load the element voc, it has some attribute
// voce is child of menul
// menul is child of root element
$menul=new CXml2Array($x->GetTagPos('menul',0));
$voce=new CXml2Array($menul->GetTagPos('voce')); // defualt return child 0
echo 'Exist attribute pippo ? '.(($voce->ExistAttribute('pippo'))?'Y':'N').'<br>';
echo 'Exist attribute desc ? '.(($voce->ExistAttribute('desc'))?'Y':'N').'<br>';
echo 'Attribute desc value '.$voce->GetAttribute('desc').'<br>';
echo '<hr>';
echo 'Child title text: ';
$title=new CXml2Array($x->GetTagPos('title')); // defualt return child 0
echo $title->GetText();
echo '<hr>';
echo 'Iterate over all attributes<br>';
while(($ret=$voce->EachAttribute())!=FALSE)
{
list($key,$value)=$ret;
echo $key.'='.$value.'<br>';
}
echo '<hr>';
echo "Iterate over all node's child (child's value as array)<br>";
while(($ret=$menul->EachChildArray())!=FALSE)
{
list($key,$value)=$ret;
echo '<br>...key: '.$key.'<br>';
var_dump($value);
}
echo "It shows the 4 childs of 'menul' called 'voce'<br>";
echo '<hr>';
echo "Iterate over all node's child (child's value as object CXml2Array)<br>";
$menul->EachChild(TRUE); // reset the array pointer
while(($ret=$menul->EachChild())!=FALSE)
{
list($key,$value)=$ret;
echo '<br>...key: '.$key.'<br>';
var_dump($value);
}
echo "It shows the 4 childs of 'menul' called 'voce'<br>";
echo '<hr>';
echo 'Dump the \'voce\' array<br>';
$voce->ArrayDump();
echo '<hr>';
echo 'The full array<br>';
var_dump($x->GetArray());
echo '<hr>';
echo 'GetTag(\'menul\')<br>';
var_dump($x->GetTag('menul'));
echo '<hr>';
echo 'GetTagChilds(\'menul\')<br>';
var_dump($x->GetTagChilds('menul'));
echo '<hr>';
echo 'GetTagAttributes(\'menul\')<br>';
var_dump($x->GetTagAttributes('menul'));
?>
|