(PHP 4 >= 4.1.0)
DomNode->node_type — Returns type of node
Returns the type of the node. All possible types are listed in the table in the introduction.
<?php
include 'example.inc';
$dom = domxml_open_mem($xmlstr);
$chapter = $dom->document_element();
// Let's see the elements contained in chapter
foreach($chapter->child_nodes() as $node) {
if ($node->node_type() == XML_ELEMENT_NODE) {
echo $node->node_name() . "\n";
}
}
?>
Das oben gezeigte Beispiel erzeugt folgende Ausgabe:
title para
node_type return one of the constants listed in the chapter "predefined constants"
That's not a parser issue, that's according to the DOM specification.
> Attr objects inherit the Node interface, but since they are not
> actually child nodes of the element they describe, the DOM does
> not consider them part of the document tree.
They are not child nodes, so they shouldn't be in the child_nodes collection.
Doesn't pick up nodes of type XML_ATTRIBUTE_NODE (attributes)
Use DomNode->has_attributes() then DomNode->attributes() to retrieve a list (NameNodeMap object) of Attr objects for current node.
Is likely to be a parser issue, I'm using version 2.4.19-4 of libxml2.
Pete.