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

08.12.17

Разработка - Инструментарий разработчика

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

Скачать исходный код

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

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

Если кто-то спросит - "Нафига ты написал эту хрень?" - я отвечу, что однажды у меня возникла необходимость изменить пару значений в файле переноса данных 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)
Сделана возможность в панели результатов поиска сохранения этих самых результатов (маленькая кнопочка в заголовке панели)

 

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

См. также

Infostart Toolkit: Инструменты разработчика 1С 8.3 на управляемых формах

Инструментарий разработчика Роли и права Запросы СКД Платформа 1С v8.3 Управляемые формы Запросы Система компоновки данных Конфигурации 1cv8 Платные (руб)

Набор инструментов программиста и специалиста 1С для всех конфигураций на управляемых формах. В состав входят инструменты: Консоль запросов, Консоль СКД, Консоль кода, Редактор объекта, Анализ прав доступа, Метаданные, Поиск ссылок, Сравнение объектов, Все функции, Подписки на события и др. Редактор запросов и кода с раскраской и контекстной подсказкой. Доработанный конструктор запросов тонкого клиента. Продукт хорошо оптимизирован и обладает самым широким функционалом среди всех инструментов, представленных на рынке.

10000 руб.

02.09.2020    126447    685    389    

737

Infostart PrintWizard - создание и редактирование печатных форм в 1С 8.3

Пакетная печать Печатные формы Инструментарий разработчика Платформа 1С v8.3 Запросы 1С:Зарплата и кадры бюджетного учреждения 1С:Конвертация данных 1С:ERP Управление предприятием 2 1С:Управление торговлей 11 Платные (руб)

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

18000 руб.

06.10.2023    8288    24    6    

45

Infostart УДиФ: Управление данными и формами 1С

Инструменты администратора БД Инструментарий разработчика Роли и права Платформа 1С v8.3 Конфигурации 1cv8 Россия Платные (руб)

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

10000 руб.

10.11.2023    4660    12    2    

38

SALE! %

PowerTools

Инструментарий разработчика Инструменты администратора БД Платформа 1С v8.3 Управляемые формы Конфигурации 1cv8 Россия Платные (руб)

Универсальный инструмент программиста для администрирования конфигураций. Сборник наиболее часто используемых обработок под единым интерфейсом.

3600 2280 руб.

14.01.2013    178855    1084    0    

862

Бустер Конвертации данных 3 (Infostart Toolkit)

Инструментарий разработчика 8.3.14 1С:Конвертация данных Россия Платные (руб)

Расширение для конфигурации “Конвертация данных 3”. Добавляет подсветку синтаксиса, детальную контекстную подсказку, глобальный поиск по коду.

15000 руб.

07.10.2021    15067    3    12    

37

Многопоточность. Универсальный «Менеджер потоков» 2.1

Инструментарий разработчика Платформа 1С v8.3 Конфигурации 1cv8 Россия Платные (руб)

Восстановление партий или взаиморасчетов, расчет зарплаты, пакетное формирование документов или отчетов - теперь все это стало доступнее. * Есть желание повысить скорость работы медленных алгоритмов! Но... * Нет времени думать о реализации многопоточности? * о запуске и остановке потоков? * о поддержании потоков в рабочем состоянии? * о передаче данных в потоки и как получить ответ из потока? * об организации последовательности? Тогда ЭТО - то что надо!!!

5000 руб.

07.02.2018    99781    239    97    

298

1С HTML Шаблоны / HTML Templates

Инструментарий разработчика Платформа 1С v8.3 Конфигурации 1cv8 Платные (руб)

Быстрая и удобная обработка для работы с шаблонами HTML. Позволяет легко и быстро формировать код HTML.

2040 руб.

27.12.2017    28398    4    10    

16

[ЕХТ] Фреймворк для Расширений 1С

Инструментарий разработчика Платформа 1С v8.3 Управляемые формы Платные (руб)

"Фреймворк для Расширений 1С" это универсальное и многофункциональное решение, упрощающее разработку и поддержку создаваемых Расширений. Поставляется в виде комплекта из нескольких Расширений с открытым исходным кодом. Работает в любых Конфигурациях в режиме Управляемого приложения с режимом совместимости 8.3.12 и выше без необходимости внесения изменений в Конфигурацию.

3000 руб.

27.08.2019    18488    6    8    

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

Реально ли ее пересобрать под 64 бита? Падает при адресации памяти свыше 2 Гб. Физической памяти на компе достаточно.
104. viktor.komers 100 07.03.19 05:27 Сейчас в теме
Попытался открыть файлик с выгрузкой номенклатуры из Больничной Аптеки, размер 2 гигабайта. Программка подавилась(
105. пользователь 21.06.19 10:20
Сообщение было скрыто модератором.
...
106. SoDm 7 09.12.19 23:20 Сейчас в теме
Скачал, Xml файл 2 Гб не смог открыть, сразу сказал Недостаточно памяти для завершения операции. Line: 0.
107. vis_tmp 32 07.05.20 13:23 Сейчас в теме
Несколько лет пользуюсь Вашей программой – очень доволен!

Но сегодня заметил странное поведение.
Файл открывается с ошибкой, если в нём указан кодировка не «encoding="windows-1251"», а «<?xml version="1.0" encoding="UTF-8"?>», к примеру.
При этом любые онлайн чекеры показывают, что файл корректен.
Пример файла прилагаю.

Возможно ли это исправить?
Прикрепленные файлы:
ToService_TypePrices.xml
108. iddqd 372 07.05.20 17:41 Сейчас в теме
Разбор XML программой производится с помощью установленного в системе парсера XML от Микрософт - msxml
Технически, если не обращать внимание на кодировку, файл правильный. Поэтому чекеры не сообщают о ошибке.
Но если разбирать файл с учетом кодировки, то при перекодировании русских слов "Оптовые" и "Розничные" получаются некорректные символы, потому что этот текст написан в кодировке 1251, а в заголовке файла указана UTF-8.
Попробуйте написать этот текст на латинице, или в правильной кодировке, указанной в заголовке файла, либо поменять кодировку в заголовке
Оставьте свое сообщение