簡體   English   中英

PHP同時顯示2個xml節點

[英]PHP Display 2 xml Nodes Same Time

我想在不同的節點上同時顯示2個項目。 這是我的xml文件:

<applications>
        <application name="CAFC">
                <infos>
                        <info>Apple</info>
                        <info>Banana</info>
                        <info>Orange</info>
                        <info>Pear</info>
                </infos>
                <getstates>
                        <getstate>111</getstate>
                        <getstate>222</getstate>
                        <getstate>333</getstate>
                <getstate>444</getstate>
                </getstates>
        </application>
</applications>

這是我的PHP代碼。 效果很好,但一次只能在節點中顯示1個元素。 我當時想將第二個循環包裝在for循環中,但我不知道該怎么做。

$applications = simplexml_load_file($file);

foreach ($applications as $application) {
        getXML($application, "info");
}


function getXML($application, $info){
    $infos = $info . "s";


    foreach($application->$infos->$info as $info){
        echo $info <br>";
    }
    echo "<br/>";
}

我希望能夠輸出“ Apple 111”,“ Banana 222”,“ Orange 333”等。我該怎么做?

您可以將兩個元素列表視為數組,並簡單地循環第一個列表的計數(假設它們的大小相同),然后從兩個列表中選擇元素。

$applications = simplexml_load_file($file);

for ( $i = 0; $i < $applications->application->infos->info->count(); $i++ ) {
    $value1 = (string)$applications->application->infos->info[$i];
    $value2 = (string)$applications->application->getstates->getstate[$i];
    echo $value1." ".$value2.PHP_EOL;
}

哪個與您的測試數據相結合...

Apple 111
Banana 222
Orange 333
Pear 444

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM