Если вы знаете, какие сегменты и какой смысл во всех сегментах. Тогда это как раз о php
$file = file_get_contents('/edi.x12');
$segments = explode(~\n,$file);
foreach($segments as $segment){
$elements = explode('*',$segment);
foreach($elements as $element){
switch($elements[0]){
case 'ISA':
break;
/// And so on
}
}
}
Тогда у вас будет массив, состоящий из всех сегментов в файле. Если вы просто перебираете массив, можно получить все элементы для данного сегмента.
Но для создания файла Edi x12 это немного сложнее.
Я не вижу смысла в первом преобразовании в Xml.