'PHP SimpleXMLElement Loop cycle

I am using Advanced Order Export For WooCommerce plugin and Advanced Order Export - Custom XML format addon to output custom xml I am trying to display 2 tags and inside section:

<?php


// Exit if accessed directly
if ( ! defined( 'ABSPATH' ) ) {
    exit;
}


class Woe_Custom_XML {
    function __construct() {
        //add checkbox above buttons
        add_action("woe_settings_above_buttons", function ($settings){
            $selected = !empty($settings[ 'custom_xml_format' ]) ? 'checked': '';
            echo '<br><br>
            <input type=hidden name="settings[custom_xml_format]" value="0">
            <input type=checkbox name="settings[custom_xml_format]" value="1" '. $selected .'>
            Custom XML format<br><br>';
        });
        
        //activate hooks only when export starts
        add_filter('woe_settings_validate_defaults', function ($settings) {
            if( !empty($settings['custom_xml_format']) ) {
                $settings['format'] = "XML";//force format 
                $settings['format_xml_root_tag'] = "RESULT"; //force main tag
                add_filter("woe_xml_output_filter", array($this,"woe_xml_make_order"), 10, 2 );
            }   
            return $settings;
        } );        
    }
    
    function woe_xml_make_order($xml,$data) {
    
        global $wpdb;
        
        //to support checkbox "Export all products from the order"
        if( ! WC_Order_Export_Engine::$current_job_settings['all_products_from_order'] ) {
            $allowed_products = $wpdb->get_col( WC_Order_Export_Data_Extractor::sql_get_product_ids( WC_Order_Export_Engine::$current_job_settings ) );
            $include_all_products   = false;
        }   
        else    
            $include_all_products = true;

        // get order 
        $order = new WC_Order(WC_Order_Export_Engine::$order_id);

        //make xml for one order 
        $xml = new SimpleXMLElement( "<RCPT/>" );



        // items
        $pos = 1;
        foreach ( $order->get_items('line_item') as $item_id=>$item ) {
            if( !$include_all_products  AND !in_array($item['product_id'],$allowed_products) )
                continue;
                
            $product   = $order->get_product_from_item( $item );
            $item_meta = $order->get_item_meta( $item_id );

            $itemXML = $xml->addChild("​RCP");
            $post = get_post($item_meta['_product_id'][0] );
$user_id = $post->post_author;
if($user_id) {
            $itemXML->addAttribute("bnk",  get_user_meta($user_id, "bnk", true) );
}
            $post = get_post($item_meta['_product_id'][0] );
$user_id = $post->post_author;
if($user_id) {
            $itemXML->addAttribute("inn",  get_user_meta($user_id, "inn", true) );
}
            $post = get_post($item_meta['_product_id'][0] );
$user_id = $post->post_author;
if($user_id) {
            $itemXML->addAttribute("rsn",  get_user_meta($user_id, "rsn", true) );
}
                        $post = get_post($item_meta['_product_id'][0] );
$user_id = $post->post_author;
if($user_id) {
            $itemXML->addAttribute("nam",  get_user_meta($user_id, "nam", true) );
}

        //make xml for one order 
        $xml = new SimpleXMLElement( "<RCPT2/>" );



            $itemXML = $xml->addChild("​RCP2");
            $post = get_post($item_meta['_product_id'][0] );
$user_id = $post->post_author;
if($user_id) {
            $itemXML->addAttribute("bnk",  get_user_meta($user_id, "bnk", true) );
}
            $post = get_post($item_meta['_product_id'][0] );
$user_id = $post->post_author;
if($user_id) {
            $itemXML->addAttribute("inn",  get_user_meta($user_id, "inn", true) );
}
            $post = get_post($item_meta['_product_id'][0] );
$user_id = $post->post_author;
if($user_id) {
            $itemXML->addAttribute("rsn",  get_user_meta($user_id, "rsn", true) );
}
                        $post = get_post($item_meta['_product_id'][0] );
$user_id = $post->post_author;
if($user_id) {
            $itemXML->addAttribute("nam",  get_user_meta($user_id, "nam", true) );
}
        }
        
        
        


        //format it!
        $dom                              = dom_import_simplexml( $xml );
        $dom->ownerDocument->formatOutput = true;
        $output_flags                     = ! empty( WC_Order_Export_Engine::$current_job_settings['format_xml_self_closing_tags'] ) ? null : LIBXML_NOEMPTYTAG;
        $xml                              = $dom->ownerDocument->saveXML( $dom->ownerDocument->documentElement, $output_flags );
        
        return  $xml;
    }    
}

new Woe_Custom_XML();

But it only shows last tag. I don't know what else to post. I'm not strong in php and I hope for help There should be a text with details here, but I don't know what else to add to add a question

<?xml version="1.0" encoding="UTF-8"?>
<RESULT>
<RCPT2>
  <​RCP2 bnk="data1" inn="data2" rsn="data3" nam="data4"/>
</RCPT2>
<RCPT2>
  <​RCP2 bnk="data1" inn="data2" rsn="data3" nam="data4"/>
</RCPT2>
</RESULT>


Sources

This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.

Source: Stack Overflow

Solution Source