Using XPath with DOM in a more complicated example : DomDocument « XML « PHP






Using XPath with DOM in a more complicated example

 
<?
$dom = new DOMDocument;
$dom->load('address-book.xml');
$xpath = new DOMXPath($dom);
$person = $xpath->query('/address-book/person');

foreach ($person as $p) {
    $fn = $xpath->query('firstname', $p);
    $firstname = $fn->item(0)->firstChild->nodeValue;

    $ln = $xpath->query('lastname', $p);
    $lastname = $ln->item(0)->firstChild->nodeValue;

    print "$firstname $lastname\n";
}
?>
//
<?xml version="1.0"?>
<address-book>
    <person id="1">
        <firstname>D</firstname>
        <lastname>S</lastname>
        <city>New York</city>
        <state>NY</state>
        <email>s@php.net</email>
    </person>

    <person id="2">
        <firstname>A</firstname>
        <lastname>T</lastname>
        <city>San Francisco</city>
        <state>CA</state>
        <email>a@php.net</email>
    </person>
</address-book>
  
  








Related examples in the same category

1.Append children
2.Constructing an XML Document with the DOM Functions
3.Create element with DomDocument
4.Create the script that uses the DOM extension to create a list of title and book_id attributes.
5.DOM editing with DomDocument
6.Creating and Setting Attributes
7.Loading from server
8.Loads the content of this file into a DOM object tree.
9.Get element by tag name
10.Parsing XML
11.Sample Transformation File test-php5.php
12.Validating an XML document
13.Using CDATA sections, or character data sections
14.Using DOM to Generate Markup
15.Use the createTextNode() method to add multiple text strings to a body element in an HTML document.
16.Traversing a Tree of XML Nodes Using Recursion
17.Traversing a Tree of XML Nodes Using On-Demand Functions
18.Remove the creation and appending of attributes and simply assign the needed attributes to the elements
19.Return a list of nodes that can be examined one at the time in a foreach() loop