<ipaddress>172.20.19.6  </ipaddress> 
<domain> example.com  </domain> 
<server ip="192.168.10.1">
example_1.com 
<registrant>mturner.org </registrant>
</server> 
<server ip="192.168.10.2"> example_2.com  </server> 
<server ip="192.168.10.3"> example_3.com  </server> 
<alias> www.example.com  </alias> 
</ENTRY>';
$tags = array("Entry");
$child_tags = array("server");
$parser = new XML_PullParser_doc($doc, $tags, $child_tags);
while ($token = $parser->XML_PullParser_getToken()) {
    $servers = $parser->XML_PullParser_getElement('server');
    $servers = $parser->XML_PullParser_childXCL($servers);
    $seq = $parser->XML_PullParser_getSequence($servers);
    for ($i = 0; $i < count($seq); $i++) {
        list($server, $which) = each($seq[$i]);
        $name = $parser->XML_PullParser_getText($server, $which);
        echo "Name: {$name} \n";
        $ip = $parser->XML_PullParser_getAttributes($server, $which);
        echo "\tIP: " . $parser->XML_PullParser_getAttrVal('ip', $ip) . "\n";
    }
}
/*
 Result
Name:
example_1.com
        IP: 192.168.10.1
Name:  example_2.com
<?php

$topsecret = '
<Confidential_report>
<item>
The company has a ground-breaking new product called <emphasis>Ground-breaker.</emphasis>
</item>
<topsecret>Its formula is H20</topsecret>
<item>We expect to begin selling it by the end of the year.</item>
</Confidential_report>';
require_once "XML_PullParser.inc";
$tags = array("Confidential_report");
$child_tags = array();
XML_PullParser_trimCdata(true);
XML_PullParser_excludeBlanks(true);
$parser = new XML_PullParser_doc($topsecret, $tags, $child_tags);
$token = $parser->XML_PullParser_getToken();
$classified = $parser->XML_PullParser_childXCL($token, "topsecret");
$old_delim = $parser->XML_PullParser_setDelimiter("\n");
echo $parser->XML_PullParser_getTextStripped($classified) . "\n";
$parser->XML_PullParser_setDelimiter($old_delim);
/* Result
        The company has a ground-breaking new product called
        Ground-breaker.
        We expect to begin selling it by the end of the year.
*/