Нормально работает с большими файлами (>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)
Сделана возможность в панели результатов поиска сохранения этих самых результатов (маленькая кнопочка в заголовке панели)
Класс! Зачет.
Да, хорошая программа! Я тож с такими проблемами сталкивался… много перепробывал, но эта — самая шустрая!
Нужная, хорошая вещь!
Действительно, актуальная для тех,
кто работает с xml файлами.
Товарищи! Не забываем выказывать свое отношение к программе! (если есть что выказывать 🙂
спасибо! выручил!
а то прога предлагаемая ПФ требует аж 2-го фрамеворка
Пока нашел один существенные недостаток — хотел кинуть пару денежек в кошелек… а нумар кошелька с Эбаута не копируется…
to Сhe Burashka
Очень, очень правильное замечание! 🙂
Выложил новую версию, добавлена возможность скопировать номер кошелька со страницы «О программе».
Пора задуматься, на что буду тратить честно заработанные миллионы.. 🙂
Супер!
Для открытия файла 250 Мб программа использовала всего 500 Мб оперативки… да и загрузила всего за минуту..
А FAR после 10 минут загрузки сожрал 2Гб и это был не конец, просто ждать не было желания…
Прекрасно. Ещё бы для подстраховки новый узел уметь добавлять…. , то можно бы смело ни о чем не волноваться.
(10) Это в планах.
Плюс за описание с юмором, плюс за Абакан (почти земляки), плюс за Дельфи, плюс за реализацию.
Итого ставим один плюс, три на ум пошло 🙂
еще бы по номеру строки в файлике она б позиционировалась 😉
(13) В смысле — по номеру строки? В самом xml-файле?
Так там вполне может и одна строка всего быть. Только дли-инная..
Уточни.
Без всякого сомнения, в хозяйстве пригодиться ! 🙂
Очень не хватает удаления узлов. И множественного выбора.
(16) Уточни на счет множественного выбора. Множественный выбор для удаления узлов?
Да. Выделил несколько узлов и удалил за раз.
(19) Удаление добавить не сложно. Думаю, сделаю в ближайшие дни.
«(14) еще бы по номеру строки в файлике она б позиционировалась ;)»
Все красиво, но этой возможности действительно очень не хватает. Например, при обмене центом и переф, выдается ошибка «Ошибка преобразования XML(633488,15)». Беру тотал командер, жмем ф4, и «Перейти по строке» — 633488. И дальше колдуем с этой строкой. Надеюсь доступно объяснил необходимость функции позиционирования по номеру строки 🙂
(20) Объяснил доступно. Но, к сожалению, с использованием используемых (сорри за тавтологию 🙂 парсеров это не получится — в данный момент я не работаю с файлом напрямую, а эти парсеры предоставляют доступ только к своему уровню абстакции.
Хорошая идея. Реализацию пока не успел оценить, но надеюсь, что всё будет в порядке. Так держать! 😉
Спасибо за прогу, пригодилась. А нельзя ли сделать редактирование узлов?
(23) Можно. Все можно. Только надо время и желание.
Лично меня она в том виде, который есть — устраивает полностью, но ваше пожелание я учту, и, как руки дойдут — реализую.
СЕНКС СЕНКС СЕНКС
Доброе время суток с данной программой все понятно!!
Не могли бы ли в мне объяснить что обозначают
ТипыАтрибута РЭ, АС, К в Справочниках
И в Документах -М, РШД, ОРД
(26) А нельзя ли немного поподробнее? Что за типы атрибута? Что за справочники и документы? Я так понимаю у вас вопрос не столько по программе, сколько по формату файла, который она открывает? Не уверен, что смогу вам помочь в этом случае
Автору респект. Шустро работает и наглядно. Благодаря этой штуки при загрузке большого файла примерно можно понять сколько уже загрузилось в 1С.
Условия:
Процессор: AMD Athlon 64 X2 Dual Core Processor 3800+ частота 2000
Количество процессоров: 2
Технология гипертрейдинг: ДА
Технология MMX: ДА
Операционная система: Microsoft Windows XP Service Pack 2
Оперативная память, MB: 2146
Открываем мой файл переноса за апрель: CDDataАпрель2008.xml, 180 MB
Старт — 10:00
10:03 — появился корневой узел, жмем:
«Инициализация узла…»
10:14 — ждать надоело, панночка померла 🙁
После просмотра хмл-файлов в интернет експлорере несомнено +, хотя поработать еще есть над чем.
Автор спасибо
(29) А другим парсером открыть тоже не получается?
Дело в том, что парсер я использую готовый. В самой программе основные тормоза проявляются в тот момент, когда я пытаюсь получить количество дочерних элементов узла — обращаюсь к свойству Count парсера. Так что, боюсь, здесь я ничего сделать не могу.
А память программа в тот момент, когда «панночка померла» ест? Если да, то парсер таки что-то читает. Но вот когда он это прочитает — это науке не известно.. 🙁
Да я знаю какой парсер ты используешь 😉 Дельфи рулит!
Он однозначно считает, при этом что интересно: загрузка ЦП и памяти — 50% (забыл написать сразу)
Тогда единственно — попробовать оставить на часок.. 🙂 Больше, я боюсь, ничего предложить не могу. 🙁
Только что попробуй другие парсеры — может какой у тебя в системе и стоит? OpenXML вроде как грузит весь файл в память сразу, жрет ее много (файл 10мб, памяти откушал 140мб), зато потом без тормозов. XercesXML так же как и MSXml — грузит каждую ноду отдельно.
Правда, самый большой xml-файл который у меня есть — 15 метров. 🙂
ставлю + …весчь нужная…..у мну суточный файл журнала — под 60 метров…
Работаю с файлами до 120 Мб. Пользовался xml notepad. Этот работает однозначно быстрее. Спс, крайне нужная вещь
(Извиняюсь, если офтоп)
А можно ль этой тулзой
открыть 8.1ные правила обмена из типовой обработки выгрузки хозопераций в Бухию7.7?
В макете обработки лежит хмл-подобный текст:
<ПравилаОбмена>
<ВерсияФормата>2.01</ВерсияФормата>
<Ид>8091c338-eb44-4c3a-92ac-02b449456319 </Ид>
При открытии akXML находит недопустимый символ «<«?
, добавил
<?xml version=»1.0″ encoding=»windows-1251″ ?>
получил «Invalid XML declaration»
при том что IE читает безошибочно.
Что не так?
Стоит пытаться редактировать akXMLedit-ом или для этого нужны др. редакторы?
Спасибо.
(36) Восьмерки у меня сейчас нет. Можете мне выслать этот файл? Полагаю, он не очень большой?
Выслать можно на адрес, указанный в окошке «О программе».
(36) В дополнение: Во вторник я уезжаю в командировку, так что если вышлете раньше — смогу посмотреть оперативно.
А у мелкософта тоже есть нормальная бесплатная приблуда XML Notepad 2007:http://www.microsoft.com/downloads/details.aspx?familyid=72d6aa49-787d-4118-ba5f-4f30fe913628&displaylang=en
(39) Скачал. Как минимум — ему нужен .Net 2.0, а свою приблуду я задумывал в том числе для использования с флешки на любом компе. Завтра загружусь в XP, поставлю, посмотрю. Любопытно. 🙂
Попробовал XML Notepad от MS. Сипатичный. Но тормозззззз… 🙂
Предлагаю:
1) Добавить возможность вводить ноды и атрибуты. Добавить возможность редактировать ноды
2) Добавить возможность Drag&Drop для перемещения нодов и атрибутов мышкой для изменения иерархии. Желательно для этого иметь множественный выбор
3) Вывести окно запросов XPath для отбора и анализа результатов
Запустил поиск узлов по значению на большом файле, программа поработала пара минут, подвисла и потом упала 🙁
Памяти 2ГБ, на винте также места полно.
Автору программы большое спасибо.
Единственное что пугает, если реализовывать все то что, тут предлагают, то в итоге получится как раз таки типовая программа, с медленной работой и с большими дистрибутивом.
(44) Это да 🙂
Некоторые вещи ввести можно, и даже нужно, но мне не нравится микрософтовский парсер.
Я написал свой. По скорости — как минимум не уступает, удобен для меня как программиста. Как-нибудь, как будет свободное время — сделаю на его основе akXMLEdit2. Вот. 🙂
PS: Учитывая, что недавно я *с гордостью* стал дважды папой — сроков не озвучиваю.. 🙂
Автору тогда не просто спасибо, а тройное спасибо!!!
За программу и за повышение демографической ситуации в России два раза.. 🙂
Спасибо. Быстро, просто и совкусом.
(46) Ну, в два раза в России — это вы мне конечно сильно польстили :))
файл выгрузки в 276 мегабайт!!! открылся где-то за минуты за 2-3. на 3х гб оперативки коре Е8200.
кое как передвигалось по этому файлу. и даже работал поиск. я думаю однозначно зачет!
(41) Занятно, что программисты Microsoft ее для своих целей написали. Они, видимо, с файлами выгрузки не работают 😥
Однозначный плюс. Для работы с файлами обмена самое оно…
Спасибо, выручила прога! В обмене ошибка выдавалась, а с отправителем говорить — сложно. Удалил док. с ошибкой — все и принялось!
😀
Спасибо. Очень пригодилось при внесении небольших изменений в файлы обмена данными 1С.
Всегда пожалуйста! )
Если планы развития этой программы?
как и автор, столкнулся с необходимостью просмотра (и «мелкой» правки) большого файла (несколько десятков метров), попробовал десятка полтора программ, но ни в одной кроме этой так и не дождался даже открытия файла 🙂
Давно и успешно пользуюсь программой.
Автору БОЛЬШОЕ СПАСИБО.
(55) respublica,
Если планы развития этой программы?
Присоединяюсь.
не открывает файлы обмена размером больше 300 мегов — вылетает с ошибкой.
размер программы при открытии фала 357 мегов увеличился в трое и продолжал увеличиваться до тех пор пока память не кончилась и прога не закрылась с ошибкой.
Проблема была не в программе, а в самом файле, конец файла битым оказался. Файл открывает. Правда в таком большом файле поиском воспользоваться не получилось. После отмены поиска — память программа, которая она «отжала» не вернула — это порядка 3Гб оперативки.
(60) При поиске программа инициализирует все узлы. Если их много — то и памяти много ест. Т.е. при запуске программа грузит только корневые узлы. При раскрытии узла — подгружает дочерние. При поиске — грузит все.
(57)(55)
Собираюсь как-нибудь выбрать время, и добавить в программу добавление (сорри за тавтологию) узлов/атрибутов. Мне самому это не надо, но программа пользуется популярностью, что обязывает :). Больше планов нет.
(61) спасибо за программу, помогает часто 🙂
весьма приятная штучка
Круто ! Открыл файл 610 мб !
Отлично, 600мб файл пару мин и все как на ладони!
Вещь!!! Молодец!!!
Программа понравилась !
присоединяюсь к вопросам о планах.
Работаю с алкогольной отчетностью — там бывает при проверке выскакивает, что ошибка в строке № …
Можно ли сделать переход на строку? не внутри атрибута, а в целом по файлу
+1 за дальнейшее допиливание сего замечательного продукта
Хорошая прога, пользовался предыдущей версией.
Пользуюсь плагином Syn v2.04: TotalCommander Lister Plugin
Спасибо автору за продукт! Пользуюсь.
Пользуюсь notepad++, после того как пытался открыть файл размером 450 мегов.
akXMLedit вылетел с ошибкой.
Проги файлы такого размера открывают точно:
EditPadPro,
notepad++
UltraEdit
Присоединяюсь к благодарностям, пользуюсь давно, очень удобная вещь
Прикольно! Авось и пригодится )
Спасибо автору! Давно использую. Отличный редактор. Однозначно плюс!
Мир этому дому!
Только вчера разбирался с этой темой — искал новый редактор (пока пользуюсь XmlPad). Поэтому обработка в тему — взял на заметку. Плюс.
Привет!
Пару раз пытался загрузить — сообщение об ошибке архива. Можете сообщить альтернативный адрес закачки?
пользуюсь firstobject XML Editor — открывает, редактирует xml файлы любого размера, работает очень быстро
причем бесплатно
(78) robot2344332, никогда еще не подводил
Скачал, а архив не распаковывается!!!
(72) isn, Открыть — это одно. А как там со строками длиной в несколько килобайт?
Пользуюсь notepad++ или XmlPad . Быстро удобно и бесплатно.
ох и как я мог забытьru.wikipedia.org еще немножко
Автору — плюсик в любом случае в копилку положил.
и почему автору бы не добавить в вики и свою программу?
ОЧЕНЬ большой плюс. Отладка экстренной выгрузки в боевых условиях 🙂 Раз и открыл с иерархией.
А как на счет файлов более 2Гб ?
(78) robot2344332,
firstobject XML Editor — ошибка при открытии файла более 2Гб
(88) eruil,
Боюсь, ничего подсказать не могу — файлов такого объема у меня просто нет, проверить не на чем
(90) проверил akXmlEdit — v1.5.0.7
Ошибка — Недостаточно памяти для завершения операции.
Файл 2.5Гб программа не переварила. Жаль.
Пока из открывших и позволивших работать с файлом — это Oxygen XML editor (64bit)
Но и эта программа на таком большом объеме бьет файл на pages, где просмотр и работа со структурой возможна только в рамках отдельной страницы. А замена по всему документу не работает.
Поиск XML редактора для больших (более 2Гб) файлов продолжается.
Открыл для себя 010 Editor
Отличная программа, прекрасно работает с большими файлами (более 2Гб) и довольно шустрая.
Ай, красавец … открывает и читает и изменяет даже с супер функцией ПОИСК )))
Вообщем файл размером 1 гиг открыл и исправил )
Недостаточно памяти для завершения операции. Пытаюсь открыть XML файл 2,5 ГБ. Оперативы 16 Гб. Свободно 12 ГБ.
(94) Физическая память машины большой роли не играет. Программа может адресовать ровно столько, сколько заложено в ней самой компилятором.
(94) rar_xxx, попробуйте 010 Editor, должен справиться.
Великолепная программа. Ранее использовал другие программы из интернета, но такой удобной не встречал.
Уже в первые 5 минут обнаружил великолепные и (!!!) уникальные функции
а) Отображение имени узлов, в которых только одно свойство (а таких более половины в правилах обмена)
б) Фантастически удобная функция «выводить результаты поиска в панель результатов поиска»
Автору низкий поклон !!!
включил, выбрал файл — увидел полное свёрнутое дерево. 🙂
Хорошо когда есть программисты, которые выкладывают продукт не «лишь бы работало» а вполне себе законченную вещь. Спасибо.
У нас большие файлы от 100 Мб до 2 гб
150 Мб уже минут 10 разворачивает дерево …. Короче убил процесс.
Блокнот открывает сек 40.
Почитал «Узлы она подгружает динамически, т.е если файл большой, но корневых узлов немного, то откроется она практически мгновенно.»
В файле всего один корневой узел, что часто в xml.
Вероятно нужна опция динамически подгружать узлы второго уровня