使用PHP从xml中提取多个标签


extracting multiple tags from xml using PHP

这是我的address.xml

<?xml version="1.0" ?>
<!--Sample XML document -->
<AddressBook>
    <Addressentry>
        <firstName>jack</firstName>
        <lastName>S</lastName>
        <Address>2899,Ray Road</Address>
        <Email>jkjsvsdka@ghu.edu</Email>
    </Addressentry>
    <Addressentry>
        <firstName>Sid</firstName>
        <lastName>K</lastName>
        <Address>238,Baseline Road,TX</Address>
        <Email>sk@ghu.edu</Email>
        <Email>sk@gmail.com</Email>
    </Addressentry>
    <Addressentry>
        <firstName>Satya</firstName>
        <lastName>Yar</lastName>
        <Address>6,Rural Road,Tempe,AZ</Address>
        <Email>syarlag@ghu.edu</Email>
       <Email>ssya@gmail.com</Email>
        <Email>satag@yahoo.com</Email>
    </Addressentry>
</AddressBook>

我正在尝试使用PHP代码加载所有条目,如下所示。每个地址条目可以有一个或多个标记。现在,从下面的代码中,我只能提取一个标签。我的问题是如何提取与特定Addressentry相关的所有标签。也就是说,我想在同一行打印所有电子邮件。

<?php
$theData = simplexml_load_File("address.xml");
foreach($theData->Addressentry as $theAddress) {
    $theFirstName = $theAddress->firstName;
    $theLastName = $theAddress->lastName;
    $theAdd = $theAddress->Address;

    echo "<p>".$theFirstName."
    ".$theLastName."<br/>
    ".$theAdd."<br/>
    ".$theAddress->Email."<br/>
    </p>";

    unset($theFirstName);
    unset($theLastName);
    unset($theAdd);
    unset($theEmail);
}
?>

如有任何帮助,将不胜感激

$emails = array();
foreach ($theAddress->Email as $email) {
    $emails[] = $email;
}
echo "<p>".$theFirstName."
    ".$theLastName."<br/>
    ".$theAdd."<br/>
    ".implode(', ', $emails)."<br/>
    </p>";