PHP在foreach循环中将4个SimpleXMLElement对象合并为1

PHP在foreach循环中将4个SimpleXMLElement对象合并为1,php,xml,simplexml,Php,Xml,Simplexml,我有4个SimpleXMLElement对象,它们从foreach循环中获取输出 在输出到xml之前,我需要将4个对象组合成1个对象。这就是我一直坚持的 $auth_tokens = array('tok1', 'tok2', 'tok3', 'tok4'); foreach($auth_tokens as $auth_token) { // 4 iterations in loop $response = curl_exec($connection); // API xml resp

我有4个SimpleXMLElement对象,它们从foreach循环中获取输出

在输出到xml之前,我需要将4个对象组合成1个对象。这就是我一直坚持的

$auth_tokens = array('tok1', 'tok2', 'tok3', 'tok4');

foreach($auth_tokens as $auth_token) { // 4 iterations in loop
    $response = curl_exec($connection); // API xml response
    $xml = simplexml_load_string($response); // loaded xml into object


$entries = $xml->PaginationResult->TotalNumberOfEntries;
$xml = $xml->OrderArray->Order; // Only want this section of each object

if($entries == 0) {
    continue;
}

echo '<pre>' . var_export($xml, true) . '</pre><br>';

}
组合这4个对象后,我将
echo$xml->asXml()
置于循环之外,并能够添加父节点

$orders = "";
foreach($auth_tokens as $auth_token) {
    // ....

    //echo '<pre>' . var_export($xml, true) . '</pre><br>';
    $orders .= $xml->asXML();
}

$xml = simplexml_load_string("<Orders>$orders</Orders>");
header('content-type: text/xml');
echo $xml->asXML();
foreach($auth\u令牌作为$auth\u令牌){
// ....
}
$xml=simplexml_load_字符串($xml”);
标题('content-type:text/xml');
echo$xml->asXML();

如何将这4个对象合并到1中,而不必再进行循环来实现它?

一种非常简单的方法是导出每段XML并将其添加到循环中的字符串(
$orders
),然后将其添加到对
simplexml\u load\u string()
的最后调用中

$orders=”“;
foreach($auth_令牌作为$auth_令牌){
// ....
//echo'.var_导出($xml,true)。“
”; $orders.=$xml->asXML(); } $xml=simplexml_load_字符串($orders”); 标题('content-type:text/xml'); echo$xml->asXML();
谢谢。我已经知道我需要使用
$xml->asXML()并连接到变量。
foreach($auth_tokens as $auth_token) {
    // ....
}

$xml = simplexml_load_string("<Orders>$xml</Orders>");
header('content-type: text/xml');
echo $xml->asXML();
$orders = "";
foreach($auth_tokens as $auth_token) {
    // ....

    //echo '<pre>' . var_export($xml, true) . '</pre><br>';
    $orders .= $xml->asXML();
}

$xml = simplexml_load_string("<Orders>$orders</Orders>");
header('content-type: text/xml');
echo $xml->asXML();