Прямо из примера
$array = array();
$array[0]['xml_name'] = 'xml_tag_name';
$array[0]['value'] = 'value';
$array[1]['xml_name'] = 'xml_tag_name2';
$array[1]['value'] = 'value2';
$array[2]['xml_name'] = 'xml_tag_name3';
$array[2]['value'] = array(0 =>array('xml_name' => 'children_tag1', 'value' => 'children_value'));
$external_propertys['mylist'] = $array;
В XML получаем
<mylist>
<1><xml_name>xml_tag_name2</xml_name>
<value>value2</value>
</1>
<2><xml_name>xml_tag_name3</xml_name>
<value>
</value>
</2>
</mylist>
и соответственно, ошибку парсинга XML.
Как все-таки правильно сформировать массив, чтобы в XML получилось:
<mylist>
<item>
<key1>value1</key1>
<key2>value1</key2>
</item>
<item>
<key1>value3</key1>
<key2>value4</key2>
</item>
</mylist>