Добрый вечер! Как можно реализовать сравнение двух текстовых файлов. Оба имеют записи вида <id>135760051</id> Требуется вычислить повторяющиеся записи и уникальные, на выходе получить третий тхт с уникальными записями. Заранее спасибо!
задача бьётся на 2 части 1) simplexml 2) сравнение массивов , тут только правильно описать сравнение и запись повторяющихся в новый массив
а вообще можно намного проще , чтото я намудрил напишу как освобожусь если до меня никто не напишет а покачто скажите - записи каждая на новой строке? <id> везде одинаковый? или <name> и т.п есть ?
Записи каждая на новой, файл начинается с <?xml version="1.0" encoding="UTF-8"?> <ids>, далее идет список записей каждая с новой строки, как я указывал выше, в конце массива </ids>
PHP: <?php $xml1 = 'test1.xml'; $xml2 = 'test2.xml'; $a = simplexml_load_file($xml1); $b = simplexml_load_file($xml2); $array_1 = (array)$a->children(); $array_2 = (array)$b->children(); $result = array_diff($array_1['id'],$array_2['id']); array_walk($result,function(&$i){$i = '<id>'.$i.'</id>';});; $xml = new SimpleXMLElement("<ids>\n".implode("\n",$result)."\n</ids>"); $xml->asXML('result1.xml');