Before and After: Reading XML into a Tree
The most common XML task is reading an XML document and printing out its contents. DOM and SimpleXML store XML documents in trees. This allows you to easily maneuver though the document to find information because if you know where your node is located, you can access it directly.
Reading an Address Book
The following programs take an XML
document, read it into a tree, and then find a set of nodes. They all
use the example address book from Example 5-1 as
their data, search for all the people
nodes, and
then print out everyone’s first and last name.
The first two versions use DOM, one written in PHP 4 and the other in PHP 5. There is also a SimpleXML version, which is considerably shorter.
PHP 4 and DOM
Example 5-5 demonstrates the PHP 4 DOM extension.
Example 5-5. Reading XML with PHP 4 and DOM
$dom = domxml_open_file('address-book.xml'); foreach ($dom->get_elements_by_tagname('person') as $person) { $firstname = $person->get_elements_by_tagname('firstname'); $firstname_text = $firstname[0]->first_child( ); $firstname_text_value = $firstname_text->node_value( ); $lastname = $person->get_elements_by_tagname('lastname')); $lastname_text = $lastname[0]->first_child( ); $lastname_text_value = $lastname_text->node_value( ); print "$firstname_text_value $lastname_text_value\n"; }Rasmus Lerdorf
Zeev Suraski
Under PHP 4, DOM method names use underscores ( _ ) to separate
words, such as get_elements_by_tagname( )
and
first_child( )
.
To find all elements ...
Get Upgrading to PHP 5 now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.