This question already has an answer here:
I have a XML file which looks like this:
frankly speaking I have no idea how those scripts worked.
<?xml version="1.0" encoding="UTF-8"?>
<resource>
<languages>
<language>en</language>
<page1>
<full_content_text>Full Content Text 1</full_content_text>
</page1>
<page2>
<full_content_text>Full Content Text 2</full_content_text>
</page2>
</languages>
<languages>
<language>tc</language>
<page1>
<full_content_text>Full Content Text tc version 1</full_content_text>
</page1>
<page2>
<full_content_text>Full Content Text tc version 2</full_content_text>
</page2>
</languages>
</resource>
I want to output look like this:
I want to merge the page1 and page2 elements to become page element
<?xml version="1.0" encoding="UTF-8"?>
<resource>
<languages>
<language>en</language>
<page>
<full_content_text>Full Content Text 1 Full Content Text 2</full_content_text>
</page>
</languages>
<languages>
<language>tc</language>
<page>
<full_content_text>Full Content Text tc version 1 Full Content Text tc version 2</full_content_text>
</page>
</languages>
</resource>
Code look like this:
$xml = ('test.xml');
$dom = new DomDocument();
$dom->load($xml);
$nodes = $dom->documentElement;
$data = $nodes->getElementsByTagName('languages');
foreach($data as $key => $row){
$page1 = $row->getElementsByTagName('page1')->item(0);
$page2 = $row->getElementsByTagName('page2');
foreach($page2 as $res){
echo '<pre>';
print_r($res);
echo '</pre>';
}
$page = $dom->createElement('page', 'Merge Page1 and Page2 Here');
$row->appendChild($page);
}
$dom->save("merged.xml");
</div>