|
0
sanechichek
16.03.12
✎
18:01
|
Всего мнений: 37
Встала задача перед иностранным представительством сделать обмен данными 1с с их системой, то есть они присылают нам некие файлы мы их загружаем у себя, мы им высылаем файлы, они загружают у себя. Собственно, какой формат для этого обмена лучше всего выбрать?
|
|
|
88
ptrtss
17.03.12
✎
10:09
|
Текстовый формат, разработанный под конкретные обменивающиеся системы может в десятки раз более экономичным, но требует некоторого времени на разработку и эксплуатационное тестирование (коллектив, готовься к глюкам то там то здесь, если по русски). С XML всем работать легче, но долго, и память жрет. Выбирайте что критичнее
Плюс, для определенных объемов передаваемых данных XML в принципе не подходит
TXT |
|
|
94
Torquader
17.03.12
✎
11:46
|
Начнём с того, что xml - это один из вариантов текстового файла, так как там внутри текст, только специально структурированный. Проблема в xml в том, что записывается очень много лишней информации, так как название каждого поля объекта пишется так, как оно указано.
Кажущая простота парсинга xml-файла упирается в то, что есть готовые парсеры, которые чаще всего загружают весь файл в память и там его разбирают, что иногда кончается нехваткой памяти. При изменении структуры xml-файла придётся также править программу, как и в случае с txt-файлами, а может быть, даже и больше.
Также для xml-файла оказывается смертельной вложенность другого файла во внутрь, так как может просто произойти нарушение дерева xml из-за одинаковых объектов.
Для txt-файла есть большая свобода размещения данных, а также возможность использования, например, php-сериализации, когда можно складывать ссылки между объектами, что напрямую в xml-файле не поддерживается.
Некоторые системы умеют выгружать xml-файлы, но половина свойств объектов оказывается в параметрах тега объекта, а другие - во вложенных тегах - сиё определяет выгружающая программа. А вот при "кормлении" 1С такими файлами возникает проблема, так как нужно точно и ясно оговаривать что и где будет.
В случае применения экранирования символов можно избежать наложения символов внутри блока данных с символами разделения блоков.
Построчное чтение txt-файла оказывается быстрее, чем чтение xml-файла.
TXT |
|