1

これが私の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 コードを使用してすべてのエントリをロードしようとしています。各アドレス エントリには、1 つ以上のタグを含めることができます。現在、以下のコードから 1 つのタグのみを抽出できます。私の質問は、特定の 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);
}
?>

どんな助けでもいただければ幸いです

4

1 に答える 1

0
$emails = array();
foreach ($theAddress->Email as $email) {
    $emails[] = $email;
}
echo "<p>".$theFirstName."
    ".$theLastName."<br/>
    ".$theAdd."<br/>
    ".implode(', ', $emails)."<br/>
    </p>";
于 2012-07-08T21:23:47.120 に答える