У меня есть два XML-массивы, и я хочу, чтобы объединить эти массивы в третьем массиве ... первый XML struxture являетсяКак объединить два XML-массивы в третьем массиве в PHP
$current = '<forms id="frm16648">
<group ref="" id="tarascioheader" mode="block">
<label>
<![CDATA[Group (tarascioheader)]]>
</label> structure u
<select ref="" id="petorresp">
<label>
<![CDATA[Select (petorresp)]]>
</label>
</select>
и 2-й массив
$old = '<forms id="frm16648">
<group ref="" id="tarascioheader" mode="block">
<label>
<![CDATA[abc]]>
</label>
</group>
</forms>':
</group>
</forms>';
из этих XMLs, я хочу, чтобы скопировать все подходящие теги в новом массиве .... я пытаюсь сделать это с помощью рекурсивной функции, ....
function merge_xmls($current, $old)
{
$cxml = str_get_html($current);
$oxml = str_get_html($old);
do
{
$tt = $cxml->first_child();
if(!empty($tt) && !is_null($cxml->first_child()))
{
$x = $cxml->first_child();
$this->merge_xmls($x, $cxml, $oxml);
}
if(empty($tt))
{
$cid = $cxml->id;
$oid = $oxml -> find('#'.$cid);
if(!is_null($oid))
{
$cxml -> innerHTML = $oxml -> innerHTML;
}
}
$cxml = $cxml->next_sibling();
}
while(!empty($cxml) && !is_null($cxml));
}
Что вы ожидаемый результат? –
В PHP нет таких вещей, как * XML Arrays *. О чем ты говоришь? Также нет '$ this' - создайте автономный * рабочий * пример, который демонстрирует вашу проблему с минимальными данными и кодом при необходимости. – hakre
Вы пытаетесь использовать SimpleXML? Как сказал Хакре, таких массивов не существует, но вы можете построить массив из одного. Это то, что вы пытаетесь сделать? – Machavity