Чем редактировать xml файл. Создание и редактирование XML-файла в Excel

Записав вчера видео о выгрузке отчета РСВ-1, я вспомнил еще об одной детали, о которой стоит рассказать в связи с этой темой.

Не секрет, что номер файла, который формируется при выгрузке РСВ-1 из Бухгалтерии или УСН 7.7 при каждой новой выгрузке увеличивается на "1":

И если номера пачек персонифицированного отчета, например, "4" и "5", то хотелось бы, чтобы номер файла РСВ-1 был бы "6". Как это сделать? Дело в том, что мало просто переименовать файл исправив номер в имени файла. Ведь номер файла прописан и в самом файле. Это можно легко проверить: если кликнуть по файлу с расширением xml он откроется для просмотра программой Explorer (или какой-то другой, в зависимости от настроек вашей операционной системы):

Итак, вначале исправляем имя файла. В нашем случае заменяем "21" на "06". А для исправления содержимого - воспользуемся программой "Блокнот", который есть на любом компьютере. Дело в том, что файл "xml" это простой текстовый файл, который легко исправить блокнотом. Кликаем правой клавишей мышки по файлу и в открывшемся контекстном меню выбираем "Открыть с помощью" и из появившегося списка программ выбираем "блокнот".

Если в перечне программ блокнота нет, то выбираем пункт "Выбрать программу":

И в появившемся окне "Выбор программы" выбираем блокнот и нажимаем "ОК".

Теперь в блокноте меняем номер в названии файла (например, "21" на "06") и закрываем блокнот с сохранение. Вот и все. Можно сдавать в ПФР 🙂

В заключении хочу отметить, что описанный способ применим для небольших изменений в небольших файлах. Если вам приходится часто редактировать xml файлы - найдите какой-нибудь специальный редактор с подсветкой синтаксиса и поддержкой юникода. Это сильно уменьшит вероятность возможных ошибок.

Хороший XML редактор бережет нервы разработчика и делает процесс работы с XML легким и приятным. Вот так я подумал, когда начал пользоваться редактором Altova XMLSpy. Эта программа, безусловно, стоит своих денег.

Но руководство поставило задачу найти бесплатный аналог. Результатом поиска краткий обзор бесплатных XML редакторов.


Требования.

Работа с XML/XSLT/XSD
- Удобный редактор с подсказками и подсветкой
- XSLT процессор и дебагер.

Бесплатные XML редакторы

Обзор

Exchanger XML Lite V3.2. Возникли проблемы с установкой. Инсталляция проходила почти до конца и замирала. А жаль. По описанию на сайте у него очень богатый набор функций.

EditiX Lite Version. Хороший редактор. Умеет делать XSLT трансформации. Но подсказки выдаются в виде выделения похожих частей кода, а не выпадающим списком и табличного представления документа.

Serna Free. Этот редактор понравился мне меньше всех. Он прячет XML теги и жутко тормозит. Работать очень не удобно.

XML Marker. Очень понравился. Показывает XML в табличном виде доступном для редактирования. Жаль нет подсказок и возможности делать XSLT трансформации.

XMLPad. Понравился больше всех. Показывает XML в табличном виде и в виде дерева. Есть подсказки. Есть возможность делать XSLT трансформации.

Стравнение

Выводы

Ни один из рассмотренных бесплатных редакторов не может полностью заменить хороший платный редактор. Больше всех поставленным требованиям соответствует XMLPad. Но XML Marker можно одновременно редактировать код и видеть результат в табличном виде.

P.S. Уважаемые читатели если вы знаете хороший бесплатный редактор, то пишите в комментариях. С удовольствием дополню обзор.

UPD. Большой обзор XML редакторов «Choosing an XML editor»

UPD. Письма читателей.

Добрый день Александр,

Не являюсь участником сообщества "Хабрахабр", поэтому, с Вашего позволения реагирую почтой на Ваш пост.

Хотел бы отметить, что Ваш обзор редактора Syntext Serna в разрезе редактора XML-файлов абсолютно некорректен.
Основное назначение Syntext Serna -- не редактирование XML-конфигов или создание файлов XML Scheme и XSLT, а
визуальное создание и поддержка документации в формате XML (например, DocBook или DITA). Именно поэтому "Он прячет XML теги" (цитата), т.к.
основным пользователем редактора является технический писатель, которому не нужно иметь глубокие знания XML и уж
тем более, допускать ошибки в несбалансированных тэгах. Если требуется поправить XML-документ в невизуальном режиме,
то для этих целей в Syntext Serna существует режим "Plain mode".

Если возможно, буду благодарен, если разместите данное замечание в Вашем посте.

Спасибо,
--
With best regards,
Andrew Sichevoi, thekondor.net

Многофункциональный XML (и не только) редактор. Умеет подсвечивать команды великого множества языков программирования, проверять на ошибки, и много чего ещё.

Сегодня мы рассмотрим один из мультифункциональных инструментов для веб-мастеров - чешcкую программу PSPad. По сути, это тот же Блокнот , но его функциональность расширена до предела.

В программу, которая в установленном виде занимает всего около 10 мегабайт, умудрились впихнуть столько, что ни в сказке сказать, ни пером описать (ни клавиатурой отстучать:)). PSPad имеет следующий набор инструментов:

Возможности PSPad

HEX-редактор (англ. hex-editor) - программа для редактирования кода в 16-ричном виде.
  • поддержка множества языков программирования: HTML, XML, PHP , Pascal, JScript , VBScript, MySQL, MS-DOS, Perl, Basic и т. д.;
  • подсветка синтаксиса и проверка (а также оптимизация) кода;
  • встроенный предпросмотр готовой web-странички;
  • HEX-редактор;
  • проверка правописания;
  • встроенный FTP-клиент ;
  • возможность вызова из PSPad среды разработки для каждого из языков;
  • гибкая система настроек.

Короче говоря, PSPad может заменить собой уйму другого софта, чем сэкономит место на винчестере и поможет упорядочить и более или менее централизовать всю работу по верстке сайтов.

Интерфейс PSPad

Не стоит заранее пугаться - нет здесь ничего сложного.

Попробуем ввести простейшую программу на Бейсике для вычисления функции "y=3*log (A)" и посмотрим, как будет вести себя PSPad.

По умолчанию программа создает текстовый документ с расширением .txt .

Для того чтобы выбрать нужное нам расширение зайдем в меню "Файл" и выберем пункт "Новый" (или нажмем CTRL+N).

Появится табличка, которая содержит список имеющихся в программе синтаксисов языков. Выбираем нужный (в данном случае Visual Basic) и нажимаем "Ok".

Теперь расширение файла .bas - стандартное для программ написанных на Бейсике. Вводим код:

Как видим, PSPad автоматически отображает разными цветами цифры, печатаемый текст и зарезервированные слова языка программирования. Таким образом, мы всегда можем видеть, правильно ли вводим ту или иную информацию. При этом цвет подсветки можно изменять по желанию, что делает взаимодействие с PSPad еще более удобным.

Все настройки можно произвести при помощи возможности редактирования шаблона того или иного языка.

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

Несколько слотов, как Вы могли заметить - пустые. Это дает возможность дополнительно подключить те языки, которых нету по умолчанию, но, которые нужны для работы.

Поистине колоссальную поддержку PSPad предоставляет в редактировании HTML страничек.

Помимо подсветки синтаксиса HTML (причем в нескольких вариациях), программа помогает:

  • проверить правописание;
  • ошибки в коде;
  • оптимизировать код;
  • синхронизировать и редактировать страницу непосредственно по FTP;
  • просматривать внешний вид страницы при помощи встроенного просмотрщика или подключаемого сервера (Apache) ;
  • и многое-многое другое.

Рассмотрим некоторые из возможностей. Прежде всего, я хотел бы обратить внимание на те, которые связанные с оптимизацией кода и просмотром документа при его редактировании.

Сжатие HTML

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

Давайте сравним:

На рисунке Вы видите несжатый код, который размещается на 53-х строчках.

Теперь нажмем на кнопку "Сжать HTML код без изменения работоспособности" и получим следующий результат:

Итоговая длина кода - 13 строчек!!! То есть размер документа уменьшился более чем в 3 раза!!! При этом работоспособность не пострадала. В этом можно убедиться, нажав на кнопку F10 - вызывается встроенный просмотрщик страницы.

Проверка HTML-кода на валидность

Весьма полезна также утилита для проверки HTML кода и таблица непечатаемых символов.

Для того чтобы проверить документ на ошибки зайдите в меню "HTML" и выберите пункт "Проверить HTML код" (горячие клавиши - CTRL+F10).

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

В самом низу окна программы есть строка статуса, в которой отображается всяческая вспомогательная информация (текущее положение курсора, выключатель текста, варианты обозначения текущего знака (HEX, DEX, HTML), текущий язык и кодировка текста).

Чтобы получить доступ к таблице непечатаемых символов следует один раз кликнуть по строчке, где указаны варианты отображения текущего символа.

Выводы

Чтобы описать все функции PSPad, не хватит, наверное, и целой книги, так как их не просто много, а очень много.

Каждый найдет в программе что-то свое, однако я бы советовал обратить на нее внимание, прежде всего веб-программистам и верстальщикам, потому что PSPad просто так и просится на место главного инструмента для работы с HTML:).

Послесловие

Все познается в сравнении… Как известно, нет ничего совершенного, однако ничто, тем не менее, не мешает к совершенству стремится. И так во всех сферах нашей жизни.

Программирование - не исключение. Наоборот, все программисты стремятся к совершенствованию и оптимизации своих творений.

И раньше единственным помощником для них был стандартный "Блокнот" Windows. В нем не было никаких изысков, типа подсветки синтаксиса языков программирования или HTML тэгов, но это не мешало работе.

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

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

Таких программ хоть и меньше, но они все же есть. Какую же выбрать? Таким вопросом очень часто задаются начинающие программисты. Да и опытные иногда пересматривают свою точку зрения и меняют излюбленный инструмент на более современный и функциональный.

Поэтому в данной статье мы и рассмотрели один из таких инструментов, замечательную чешскую программу PSPad.

P.S. Разрешается свободно копировать и цитировать данную статью при условии указания открытой активной ссылки на источник и сохранения авторства Руслана Тертышного.

P.P.S. Если Вы - начинающий верстальщик, то Вам лучше всего может подойти визуальный HTML-редактор Nvu. C его помощью Вы лучше поймете язык гипертекстовой разметки и сможете видеть и контролировать все свои действия в реальном времени.

Данные, хранящиеся в XML файле, можно редактировать прямо в клиентском браузере.

Открытие, редактирование и сохранение XML

В этой главе будет показано как открывать, редактировать и сохранять XML файл, хранящийся на сервере.

Для этого мы будем использовать XSL, чтобы преобразовать XML документ в HTML форму. Значения XML элементов будут записываться в поля ввода в HTML форме. HTML форму можно будет редактировать. После редактирования данные можно будет отправить на сервер, и XML файл будет обновлен (мы покажем соответствующий код на PHP и ASP).

XML и XSL файлы

Для примера возьмем следующий XML документ ("tool.xml"):

HAMMER HG2606 32456240 $30.00

И соответствующую таблицу стилей XSL ("tool.xsl"):

Tool Information (edit):


Код в приведенном выше XSL файле в цикле проходит по элементам XML файла и создает поле ввода для каждого XML элемента-"поля".

Значение атрибута "id" XML элемента-"поля" добавляется одновременно в атрибуты "id" и "name" каждого HTML поля ввода. Значение каждого XML элемента "value" добавляется в атрибут "value" каждого HTML поля ввода. В результате мы получаем редактируемую HTML форму, содержащую значения из XML файла.

Наконец, мы определяем вторую таблицу стилей XSL: "tool_updated.xsl". Этот XSL файл будет использоваться для отображения обновленных XML данных. Данная таблица стилей формирует не HTML форму, а статическую HTML таблицу:

Updated Tool Information:

PHP файл

В файле "tool.xsl" указываем в атрибуте action формы файл "edittool.php".

Файл "edittool.php" содержит две функции: функция loadFile() загружает и преобразовывает XML файл для дальнейшего отображения, а функция updateFile() применяет сделанные изменения в XML файле:

load($xml); $xslDoc = new DOMDocument(); $xslDoc->load($xsl); $proc = new XSLTProcessor(); $proc->importStyleSheet($xslDoc); echo $proc->transformToXML($xmlDoc); } function updateFile($xml) { $xmlLoad = simplexml_load_file($xml); $postKeys = array_keys($_POST); foreach($xmlLoad->children() as $x) { foreach($_POST as $key=>$value) { if($key == $x->attributes()) { $x->value = $value; } } } $xmlLoad->asXML($xml); loadFile($xml,"tool_updated.xsl"); } if($_POST["btn_sub"] == "") { loadFile("tool.xml", "tool.xsl"); } else { updateFile("tool.xml"); } ?>

Примечание : Все преобразования и изменения XML файла делаются на сервере. Это кросс-браузерное решение. Пользователь получит только HTML страницу, что будет работать в любом браузере.

ASP файл

В файле "tool.xsl" указываем в атрибуте action формы файл "edittool.asp".

Файл "edittool.asp" содержит две функции: функция loadFile() загружает и преобразовывает XML файл для дальнейшего отображения, а функция updateFile() применяет сделанные изменения в XML файле:

<% function loadFile(xmlfile,xslfile) Dim xmlDoc,xslDoc "Загружаем XML и XSL файлы set xmlDoc = Server.CreateObject("Microsoft.XMLDOM") xmlDoc.async = false xmlDoc.load(xmlfile) set xslDoc = Server.CreateObject("Microsoft.XMLDOM") xslDoc.async = false xslDoc.load(xslfile) "Преобразовываем файл Response.Write(xmlDoc.transformNode(xslDoc)) end function function updateFile(xmlfile) Dim xmlDoc,rootEl,f Dim i "Загружаем XML файл set xmlDoc = Server.CreateObject("Microsoft.XMLDOM") xmlDoc.async = false xmlDoc.load(xmlfile) "Устанавливаем переменную rootEl равную корневому элементу Set rootEl = xmlDoc.documentElement "Цикл по набору формы for i = 1 To Request.Form.Count "Убираем элементы кнопок в форме if instr(1,Request.Form.Key(i),"btn_")=0 then "Метод selectSingleNode запрашивает XML файл на наличие одиночного узла, "соответствующего запросу. Данный запрос ищет элемент value, который "является потомком элемента field, у которого атрибут id соответствует "текущему ключу в Form Collection. Когда соответствие будет найдено, "установить свойство text равным значению текущего поля в Form Collection. set f = rootEl.selectSingleNode("field[@id="" & _ Request.Form.Key(i) & ""]/value") f.Text = Request.Form(i) end if next "Сохранить модифицированный XML файл xmlDoc.save xmlfile "Освобождаем все ссылки на объекты set xmlDoc=nothing set rootEl=nothing set f=nothing "Загружаем модифицированный XML файл с таблицей стилей, "которая позволит пользователю увидеть отредактированную информацию loadFile xmlfile,server.MapPath("tool_updated.xsl") end function "Если форма была отправлена, обновить XML файл и отобразить результат "Если нет, преобразовать XML файл для редактирования if Request.Form("btn_sub")="" then loadFile server.MapPath("tool.xml"),server.MapPath("tool.xsl") else updateFile server.MapPath("tool.xml") end if %>

В данном разделе предлагается для скачивания программы XML Конвертер / XML Конструктор / XML Отчёты / Просто Подписать / XML Контакт — Росреестр.

Примеры формирования электронных версий документов с помощью программы XML Конструктор и их печатных аналогов с помощью программы XML Отчёты можно скачать в разделе . Также предлагаем посмотреть раздел , в котором вы найдете различные бесплатные утилиты, библиотеки и другое.

Программа XML Конвертер настроена для преобразования XML-файлов/документов Росреестра таких как кадастровые выписки, кадастровые планы территории в другие, удобные для использования форматы, такие как MIF/MID, DXF, CSV, TXT, HTML.

Программа XML Конструктор настроена на создание электронных версий в формате XML, таких документов для кадастровой деятельности как межевые планы, технические планы, карта(план) и др., а также уведомлений о залоге движимого имущества и уведомлений согласно закону FATCA.

Программа XML Отчёты настроена на преобразование электронных документов для кадастровой деятельности таких как межевые планы, технические планы, карта(план) в соответствующие печатные (бумажные) аналоги.

Программа Просто Подписать предназначена для создания и проверки электронных цифровых подписей (ЭЦП).

Программа XML Контакт-Росреестр предназначена для взаимодействия с веб-сервисом Росреестра, т.е. создания заявлений на постановку на кадастровый учет земельных участков и объектов недвижимости, запросов сведений кадастра, получения результатов по данным заявлениям и запросам.

Все программы (кроме Просто Подписать и XML Контакт-Росреестр) имеют демонстрационный режим длительностью 30 дней, позволяющий использовать функционал программ без ограничений. После истечения периода действия демонстрационного режима полагается либо приобрести полные версии программ, либо прекратить их использование. Программа Просто Подписать является бесплатной программой и не имеет ограничений в использовании. Программа XML Контакт-Росреестр находится на стадии бета-тестирования и в настоящее время ее использование бесплатно.

ВАЖНО! Для преобразования с помощью программы XML Конвертер или XML Конструктор XML файлов большого размера нужно скачать и установить внешний обработчик запросов XQuery и перед преобразованием указывать его в соответствующем поле программы. В настоящее время поддерживается два свободно распространяемых обработчика запросов AltovaXML 2010 (разработчик www.altova.com) и Saxon-HE 9.5 (разработчик www.saxonica.com). Скачать их можно с сайта производителя или с данного сайта по ниже приведенным ссылкам:

ВАЖНО! Перед тем как приступить к работе с программами необходимо ознакомиться с инструкциями. Особенно это важно для программы XML Конструктор, т. к. перед работой необходимо понять принцип работы данной программы. Инструкции находятся в той же папке, что и исполнительный файл программы, т. е. для XML Конструктора в папке «c:\ProgramFiles\XMLCON\XMLConstructor\XMLConstructor-help.rtf». Вызвать инструкцию можно через ярлык из главного меню программ Windows, т. е. для XML Конструктора «Пуск->Программы->XMLКонструктор->XML Конструктор — Инструкция». Для программы XML Конструктор инструкция также доступна через меню Справка.