我有兩個XML文件,我必須合併爲一個。我無法控制XML文件。解析兩個XML文件並保存到一個xml文件
首先XML的樣子:
<Make>
<cid>xxx</cid>
<cname>xxx</cname>
</Make>
<Make>
<cid>xxx</cid>
<cname>xxx</cname>
</Make>
...
第二XML需要從第一解析 'CID'。第二個XML如下所示:
<Models>
<Model>
<mid>xxx</mid>
<model>xxx</model>
<rem>xxx</rem>
</Model>
<Model>
<mid>xxx</mid>
<model>xxx</model>
<rem>xxx</rem>
</Model>
...
</Models>
我可以解析這兩個文件並將它們放在一個表中。但我不知道如何將它保存爲XML文件。該表的代碼是:
<?php
$url = 'http://url-to-pars-xml-file';
$xml = simplexml_load_file($url);
echo '<table border="1" ><tbody><tr><td>cid</td><td>cname</td><td>mid</td><td>model</td> <td>rem</td></tr>';
foreach ($xml as $cname):
$cid = $cname->cid;
$cname = $cname->cname;
//get models
$url2 = 'http://second-url-to-pars-xml-file?cid='.$cid;
$xml2 = simplexml_load_file($url2);
//info from model
foreach ($xml2 as $rem):
$mid = $rem->mid;
$model = $rem->model;
$rem = $rem->rem;
$r ='<tr>';
$r .='<td>'.$cid.'</td>';
$r .='<td>'.$cname.'</td>';
$r .='<td>'.$mid.'</td>';
$r .='<td>'.$model.'</td>';
$r .='<td>'.$rem.'</td>';
$r .='</tr>';
echo $r;
endforeach;
endforeach;
echo '</tbody></table>';
?>
也許我可以將表保存爲XML,但我認爲必須有更好的方法。有什麼建議麼?
使用真正的[DOM](http://php.net/dom),然後你可以從一棵樹插入節點到另一棵樹,然後一個簡單的' - > save()'-type調用產生你的合併文件。 –
@MarcB amles正在使用XML,該表僅用於顯示。 SimpleXML是一個很好的解決方案。 – cincodenada
@cincodenada:「不知道如何將它保存爲xml文件」。簡單的XML很簡單,原因...合併兩個不同的XML文件不是它的用途。 –