title: need to merge data from two xml files based on record id
body: <p>i have the following two xml files.
  File A:</p>
  
  <pre><code>&lt;breakfast_menu&gt;
      &lt;food&gt;
          &lt;id&gt;1&lt;/id&gt;
          &lt;name&gt;Belgian Waffles&lt;/name&gt;
          &lt;price&gt;$5.95&lt;/price&gt;
          &lt;calories&gt;650&lt;/calories&gt;
      &lt;/food&gt;
      &lt;food&gt;
          &lt;id&gt;2&lt;/id&gt;
          &lt;name&gt;Strawberry Belgian Waffles&lt;/name&gt;
          &lt;price&gt;$7.95&lt;/price&gt;
          &lt;calories&gt;900&lt;/calories&gt;
      &lt;/food&gt;
  &lt;/breakfast_menu&gt;
  </code></pre>
  
  <p>and file B:</p>
  
  <pre><code>&lt;breakfast_menu&gt;
      &lt;food&gt;
          &lt;id&gt;1&lt;/id&gt;
          &lt;description&gt;here we have already a description element&lt;/description&gt;
          &lt;otherData&gt;s3650&lt;/otherData&gt;
      &lt;/food&gt;
      &lt;food&gt;
          &lt;id&gt;2&lt;/id&gt;
          &lt;otherData&gt;s3250&lt;/otherData&gt;
          &lt;otherData2&gt;g508&lt;/otherData2&gt;
          &lt;otherData3&gt;sidi6098&lt;/otherData3&gt;
      &lt;/food&gt;
  &lt;/breakfast_menu&gt;
  </code></pre>
  
  <p>what i cannot achieve, is for each record that matches based on the record id, take all info from the xml file named A, and put all this info in the description element of file B, but also keep the element it came from. If the matching record does not have a description element, we add one. If it already has one, then we must be aware of where the info taken from file A starts, with a textual separator, ie "-followingInfoTakenFromFileA-". So with the above in mind, the desired output should be like:</p>
  
  <pre><code> &lt;breakfast_menu&gt;
      &lt;food&gt;
          &lt;id&gt;1&lt;/id&gt;
          &lt;description&gt;here we have already a description element-followingInfoTakenFromFileA-name:Belgian Waffles-price:$5.95-calories:650&lt;/description&gt;
          &lt;otherData&gt;s3650&lt;/otherData&gt;
      &lt;/food&gt;
      &lt;food&gt;
          &lt;id&gt;2&lt;/id&gt;
          &lt;otherData&gt;s3250&lt;/otherData&gt;
          &lt;otherData2&gt;g508&lt;/otherData2&gt;
          &lt;otherData3&gt;sidi6098&lt;/otherData3&gt;
          &lt;description&gt;name:Strawberry Belgian Waffles-price:$7.95-calories:900&lt;/description&gt;
      &lt;/food&gt;
  &lt;/breakfast_menu&gt;
  </code></pre>