diff options
Diffstat (limited to 'ext/dom/examples/dom1.php')
-rw-r--r-- | ext/dom/examples/dom1.php | 94 |
1 files changed, 94 insertions, 0 deletions
diff --git a/ext/dom/examples/dom1.php b/ext/dom/examples/dom1.php new file mode 100644 index 0000000..8ea3674 --- /dev/null +++ b/ext/dom/examples/dom1.php @@ -0,0 +1,94 @@ +<?php +require_once("dom1.inc"); + +echo "Test 1: accessing single nodes from php\n"; +$dom = new domDocument; +$dom->loadxml($xmlstr); +if(!$dom) { + echo "Error while parsing the document\n"; + exit; +} + +// children() of of document would result in a memleak +//$children = $dom->children(); +//print_node_list($children); + +echo "--------- root\n"; +$rootnode = $dom->documentElement; +print_node($rootnode); + +echo "--------- children of root\n"; +$children = $rootnode->childNodes; +print_node_list($children); + +// The last node should be identical with the last entry in the children array +echo "--------- last\n"; +$last = $rootnode->lastChild; +print_node($last); + +// The parent of this last node is the root again +echo "--------- parent\n"; +$parent = $last->parentNode; +print_node($parent); + +// The children of this parent are the same children as one above +echo "--------- children of parent\n"; +$children = $parent->childNodes; +print_node_list($children); + +echo "--------- creating a new attribute\n"; +//This is worthless +//$attr = $dom->createAttribute("src", "picture.gif"); +//print_r($attr); + +//$rootnode->set_attributeNode($attr); +$attr = $rootnode->setAttribute("src", "picture.gif"); +$attr = $rootnode->getAttribute("src"); +print_r($attr); +print "\n"; + +echo "--------- Get Attribute Node\n"; +$attr = $rootnode->getAttributeNode("src"); +print_node($attr); + +echo "--------- Remove Attribute Node\n"; +$attr = $rootnode->removeAttribute("src"); +print "Removed " . $attr . " attributes.\n"; + +echo "--------- attributes of rootnode\n"; +$attrs = $rootnode->attributes; +print_node_list($attrs); + +echo "--------- children of an attribute\n"; +$children = $attrs->item(0)->childNodes; +print_node_list($children); + +echo "--------- Add child to root\n"; +$myelement = new domElement("Silly", "Symphony"); +$newchild = $rootnode->appendChild($myelement); +print_node($newchild); +print $dom->saveXML(); +print "\n"; + +echo "--------- Find element by tagname\n"; +echo " Using dom\n"; +$children = $dom->getElementsByTagname("Silly"); +print_node_list($children); + +echo " Using elem\n"; +$children = $rootnode->getElementsByTagName("Silly"); +print_node_list($children); + +echo "--------- Unlink Node\n"; +print_node($children->item(0)); +$rootnode->removeChild($children->item(0)); +print_node_list($rootnode->childNodes); +print $dom->savexml(); + +echo "--------- Find element by id\n"; +print ("Not implemented\n"); + +echo "--------- Check various node_name return values\n"; +print ("Not needed\n"); + +?> |