Note that there are some explanatory texts on larger screens.

plurals
  1. POcombine multiple xml into one
    primarykey
    data
    text
    <p>Hi i am parsing one xml feed into an array and its working fine for me but till now i have only one xml feed but now i am bit of stuck at one point because i need to combine multiple xml into one and then parse whole xml into an array. here i am providing some example code what actual i want.</p> <p><strong>XML1</strong> </p> <pre><code>&lt;JobRecords&gt; &lt;JobRecord&gt; &lt;Brand&gt;Corporate1&lt;/Brand&gt; &lt;WorkTypes&gt; &lt;WorkTypeRecord&gt; &lt;Title&gt;Permanent1&lt;/Title&gt; &lt;/WorkTypeRecord&gt; &lt;/WorkTypes&gt; &lt;/JobRecord&gt; &lt;/JobRecords&gt; </code></pre> <p><strong>XML2</strong> </p> <pre><code>&lt;JobRecords&gt; &lt;JobRecord&gt; &lt;Brand&gt;Corporate2&lt;/Brand&gt; &lt;WorkTypes&gt; &lt;WorkTypeRecord&gt; &lt;Title&gt;Permanent2&lt;/Title&gt; &lt;/WorkTypeRecord&gt; &lt;/WorkTypes&gt; &lt;/JobRecord&gt; &lt;/JobRecords&gt; </code></pre> <p><strong>XML3</strong> </p> <pre><code>&lt;JobRecords&gt; &lt;JobRecord&gt; &lt;Brand&gt;Corporate3&lt;/Brand&gt; &lt;WorkTypes&gt; &lt;WorkTypeRecord&gt; &lt;Title&gt;Permanent3&lt;/Title&gt; &lt;/WorkTypeRecord&gt; &lt;/WorkTypes&gt; &lt;/JobRecord&gt; &lt;/JobRecords&gt; </code></pre> <p><strong>Combine XML that i want as output</strong> </p> <pre><code>&lt;JobRecords&gt; &lt;JobRecord&gt; &lt;Brand&gt;Corporate1&lt;/Brand&gt; &lt;WorkTypes&gt; &lt;WorkTypeRecord&gt; &lt;Title&gt;Permanent1&lt;/Title&gt; &lt;/WorkTypeRecord&gt; &lt;/WorkTypes&gt; &lt;/JobRecord&gt; &lt;JobRecord&gt; &lt;Brand&gt;Corporate2&lt;/Brand&gt; &lt;WorkTypes&gt; &lt;WorkTypeRecord&gt; &lt;Title&gt;Permanent2&lt;/Title&gt; &lt;/WorkTypeRecord&gt; &lt;/WorkTypes&gt; &lt;/JobRecord&gt; &lt;JobRecord&gt; &lt;Brand&gt;Corporate3&lt;/Brand&gt; &lt;WorkTypes&gt; &lt;WorkTypeRecord&gt; &lt;Title&gt;Permanent3&lt;/Title&gt; &lt;/WorkTypeRecord&gt; &lt;/WorkTypes&gt; &lt;/JobRecord&gt; &lt;/JobRecords&gt; </code></pre> <p>So far i have tried below code and it's work for me but take too much time for generate combine output.xml. so is there any other way to achieve this with better solution. </p> <pre><code>function simplexml_merge(SimpleXMLElement &amp;$xml1, SimpleXMLElement $xml2) { // convert SimpleXML objects into DOM ones $dom1 = new DomDocument('1.0', 'UTF-8'); $dom2 = new DomDocument('1.0', 'UTF-8'); $dom1-&gt;loadXML($xml1-&gt;asXML()); $dom2-&gt;loadXML($xml2-&gt;asXML()); // pull all child elements of second XML $xpath = new domXPath($dom2); $xpathQuery = $xpath-&gt;query('/*/*'); for ($i = 0; $i &lt; $xpathQuery-&gt;length; $i++) { // and pump them into first one $dom1-&gt;documentElement-&gt;appendChild( $dom1-&gt;importNode($xpathQuery-&gt;item($i), true)); } $xml1 = simplexml_import_dom($dom1); } $xml1 = simplexml_load_file("xml1.xml", 'SimpleXMLElement', LIBXML_NOCDATA); $xml2 = simplexml_load_file("xml2.xml", 'SimpleXMLElement', LIBXML_NOCDATA); simplexml_merge($xml1, $xml2); $xml1-&gt;asXml('output.xml'); </code></pre> <p>Please advise me what is the best way to achieve this.<br> Thanks in advance and much appreciated.</p>
    singulars
    1. This table or related slice is empty.
    plurals
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload