akXmlEdit - v1.5.0.7 редактор XML

Публикация № 15464

Администрирование - Сервисные утилиты

xml xml viewer просмотр xml

350
akXmlEdit v1.5.0.7 - редактор XML, создавался для редактирования файлов переноса данных, правил обмена 1С. Нормально работает с большими файлами (>50mb). Понимает многострочные значения (код на 1С). Удобный поиск, редактор значений. Обновление: v. 1.5.0.7 (12.10.2010) Сделана возможность в панели результатов поиска сохранения этих самых результатов (маленькая кнопочка в заголовке панели) v. 1.5.0.1 Сделана возможность удаления узлов и атрибутов Добавлена возможность выделения нескольких элементов (в пределах одного уровня) Мелкие багофиксы

Изначально писалась для себя, пользовался пару лет, теперь решил выложить.

Если кто-то спросит - "Нафига ты написал эту хрень?" - я отвечу, что однажды у меня возникла необходимость изменить пару значений в файле переноса данных 1С.
Размер у него был около 12 мегабайт.
Машина у меня тогда была не сказать что старая, но и не сильно крутая, с 256мб памяти.
Сначала я попытался открыть его ФАРом. Файл открылся, но работать с ним было практически невозможно, т.к. ФАР при длинне одной строки в файле в несколько тысяч символов начинал откровенно тормозить.
Естественно, я полез в сеть, скачал несколько редакторов XML более-менее приемлимого размера.
Попробовал. Не помню, что это были за редакторы, но тормозили они на моей машине с этим файлом изрядно. Немного подумав, я решил что что-то здесь явно не так, так как если программа требует для открытия 12-метрового файла порядка 150-200 метров памяти и потом тормозит от каждого движения курсора, то на такие объемы она просто не рассчитывалась.
(да, я понимаю, что в этих редакторах много крутых фич и рюшечек, но мне-то надо было всего лишь поправить пару значений).
Осознав это, я вспомнил главного злодея из 5-го элемента, и со словами "хочешь сделать хорошо - сделай это сам" - запустил Delphi.
В принципе, я уже был готов самостоятельно написать простенький и ни на что не претендующий xml-парсер, но решил сначала попробовать стандартные средства.
Кинул на форму TXMLDocument, прописал путь к файлу, и сказал "Active := True".
"Вж-ж-ж" - сказала японская автоматическая пила, и файл открылся, при чем подозрительно быстро. "Ого!" - сказали суровые русские мужики в моем лице.
В итоге выяснилось, что открывается-то он практически моментально, но при этом грузит только корневые узлы дерева. На загрузку всех узлов времени требутся значительно больше.
Что-то в районе аж целой минуты-другой :) (файл, напомню, БОЛЬШОЙ).
Так что сам парсер (стандартный микрософтовский msxml3.dll) оказался ни в чем не виноват.
За что программистам из Микрософт - отдельно спасибо. Правда, далеко не все программисты Микрософт одинаково полезны - это становится понятным, если попробовать открыть такой большой файл в Internet Explorer :)
В общем в итоге - получилась это программа.

Узлы она подгружает динамически, т.е если файл большой, но корневых узлов немного, то откроется она практически мгновенно. При попытке раскрытия незагруженного узла, он подгружается в память, которой тоже конечно требуется парсеру немало, но зато после того как узел загружен, работа с ним идет без тормозов.
По признанию некоего "Господин ПЖ" с mista.ru - прога открыла xml на 480 Мб, и вела себя вполне адекватно, чем даже меня удивила. Правда, сколько ей потребовалось для этого памяти не говорилось, но, полагаю, очень немало.

Есть поиск с несколькими параметрами поиска.
Если в окне поиска снять галочку "Инициализировать узлы.", то поиск будет происходить только в тех узлах, что уже загружены в память(уже открывались). Т.е. не факт что во всех.
Галочка "Выводить результаты в панель результатов поиска" - если ее снять, то поиск будет идти до первого совпадения, если же ее оставить включенной, то будет просмотрен весь файл, а результаты будут выведены в боковую панель поиска. В этой боковой панели, если два раза кликнуть на строку, то откроется соотвествующий узел в основном окне.

Редактировать можно только значения атрибутов. Добавлять/удалять атрибуты/узлы - нельзя (во всяком случае, мне это не требовалось и до сих пор не требуется :)

Выпадающий список на панели инструментов - это выбор парсера.
Иногда одним можно открыть файлы, которые не понимает другой из-за ошибок в структуре/содержании файла.
Однако, не факт, что у вас в системе стоят парсеры OpenXML или XercesXML, и, если вы выберете отсутствующий парсер, вылезет ошибка. В этом случае просто выберите существующий парсер. И вообще - рекомендую пользоваться только MsXml-парсером.

Понимает командную строку -

Распространяется бесплатно. Однако я не отказываюсь от некоторого вознаграждения за свои труды, если кто решит, что программа того стоит.

Яндекс.Деньги 41001196540787


История версий

1.4.0.15
- В окне "О программе" добавлена возможность выделить и скопировать номер кошелька.

1.4.0.14
- Вернул стандартный меню/тулбары для отвязки от gdiplus.dll
- Окно индикации инициализации узла
- Окно индикации поиска,прекращение поиска по Esc
- исправлен глюк с панелью поиска - длинный текст не отображался

1.5.0.1
Сделана возможность удаления узлов и атрибутов
Добавлена возможность выделения нескольких элементов (в пределах одного уровня)
Мелкие багофиксы


1.5.0.7 (12.10.2010)
Сделана возможность в панели результатов поиска сохранения этих самых результатов (маленькая кнопочка в заголовке панели)

 

350

Скачать файлы

Наименование Файл Версия Размер
akXMLedit_1-5-0-7.rar
.rar 721,47Kb
08.12.17
1804
.rar 721,47Kb 1804 Скачать

См. также

Специальные предложения

Комментарии
Избранное Подписка Сортировка: Дата
100. artbear 1125 09.10.17 17:59 Сейчас в теме
(99) Открывал разные файлы, в т.ч. и за 400 Мб, проблем не видел.
101. SvLeo 03.08.18 13:34 Сейчас в теме
Доброго дня. можно ли получить такой редактор
102. jobkostya1c8 03.08.18 14:24 Сейчас в теме
Где-то валялся. Опять, правда, могут, пиратство припаять и тут заблокировать злые модераторы
103. Dipod 14 30.10.18 10:35 Сейчас в теме
Добрый день. Автор, спасибо за шикарную программу!

Реально ли ее пересобрать под 64 бита? Падает при адресации памяти свыше 2 Гб. Физической памяти на компе достаточно.
104. viktor.komers 95 07.03.19 05:27 Сейчас в теме
Попытался открыть файлик с выгрузкой номенклатуры из Больничной Аптеки, размер 2 гигабайта. Программка подавилась(
Оставьте свое сообщение