Как изменить файл xml? Чем открыть XML файл

Данные, хранящиеся в 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 %>

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

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

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

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

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

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

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

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

С таким расширением? Эти и другие подобные вопросы можно нередко встретить среди пользователей, посещающих различные форумы, посвященные веб-дизайну и языкам программирования. Но для начала следует разобраться, что вообще такое документ в формате XML, какую структуру он имеет и для чего предназначен.

Назначение

XML-документ является иерархической структурой, содержащей в себе как сами данные, так и их описание. Благодаря тому, что он представляет собой простой текстовый файл, он не зависит от используемой операционной системы и может быть создан с помощью любого языка программирования. Его необыкновенная гибкость дает возможность описать какие угодно данные. Одним из важных достоинств XML-документов является то, что они легко читаются не только программами - даже человек может разобраться, какая информация содержится в файле. Использование XML активно продвигается многими серьезными компаниями, такими как Borland, Microsoft, Sun и другими. Все универсальные языки программирования имеют библиотеки поддержки этого формата. В новых версиях различных СУБД присутствует возможность получения данных с помощью стандартных запросов в виде XML-файла. Этот язык поддерживается интернет-серверами и всеми популярными интернет-браузерами. При передаче динамическим страницам данных в формате XML значительно увеличивается скорость работы приложений, которые взаимодействуют с базами данных.

Структура

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

XML-формат - чем открыть

Итак, переходим к основному вопросу. Теперь вы знаете, что такое XML-формат, чем открыть его, мы расскажем далее. Самый легкий способ сделать это - с помощью стандартного приложения "Блокнот". Однако в этом случае от пользователя понадобятся определенные знания языка XML (как минимум - за что отвечают те или иные теги), поскольку открыв файл в этом текстовом редакторе, вы увидите просто набор строк кода и, собственно, текст. Тем же юзерам, кто не силен в этом либо желает сразу видеть результаты редактирования, мы рекомендуем использовать специальные программы. Несмотря на их огромный выбор и разный уровень реализации, все они работают примерно одинаково. Различие состоит только в функциональности, то есть в наборе доступных инструментов. В качестве рабочего инструмента для редактирования XML-файлов мы рекомендуем воспользоваться бесплатным редактором Serna Free. Это достаточно мощная и в то же время удобная программа с открытым кодом. Выбрав ее, вы без труда сможете сделать статью, книгу, техническую документацию и многое другое. Создание и правка XML-файла с помощью данного редактора во многом напоминает процесс обработки текста в Word и не требует от пользователя глубоких знаний языка разметки. Кроме этого, имеются дополнительные возможности Serna Free, такие как наличие XSLT и XSL-PO-стилей, обеспечивающих близкое к реальному отображение документа, а также возможность целостного отображения XML-файлов, составленных из большого количества частей.

Заключение

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

Многофункциональный 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

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

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

Попробуем ввести простейшую программу на Бейсике для вычисления функции "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-файлы в MS Excel? Excel удобный и интуитивно понятный инструмент для создания, редактирования и обработки различных данных. Excel изучают в школе и, наверное, не найдется человека, умеющего работать на ПК и не владеющего основами работы в Excel. Поэтому на мой взгляд это наиболее подходящий инструмент, который можно рекомендовать простым пользователям для создания и редактирования файлов данных для различных приложений, в том числе Веб-приложений. У меня дома установлен MS Excel 2013 и на его примере я опишу те нехитрые процедуры, которые необходимо выполнить при создании XML-файла данных в Excel. Думаю, что и в более ранних версиях Excel это будет тоже работать. Чтобы создать XML-файл данных проделаем несколько несложных шагов. Рассмотрим их на примере создания файла данных событий .

1. Для начала необходимо в Excel создать и заполнить таблицу данных в соответствии со структурой данных. Используйте, пожалуйста, для этого пункт меню Вставка/Таблица .

2. Создадим схему файла XML. Для этого в текстовом редакторе введем следующие строки и и сохраним их в файле.

XHTML

0 0 0 0 Светлое Христово Воскресение. Пасха 0 0 -7 0 -7 Вход Господень в Иерусалим 1

0

0

0

0

Светлое Христово Воскресение. Пасха

0

0

-7

0

-7

Вход Господень в Иерусалим

1

3. Теперь откройте вкладку Разработчик , нажмите кнопку Источник и укажите файл-источник XML. При необходимости включите пункт меню Разработчик в Настройках Excel.

4. Осталось сопоставить элементы схемы и колонки таблицы, перетащив элементы на соответствующие заголовки колонок.

5. И последний шаг: экспортировать данные таблицы в XML-файл с помощью контекстного меню. Встаньте на любую ячейку таблицы, нажмите правую кнопку мыши, выберите XML/Экспорт… и сохраните XML-файл под нужным именем.

Сохраните Excel-файл для последующего редактирования и дополнения. В последующем пункты 1.-4. проделывать будет не нужно!

P.S. Зачем же я написал эту банальную заметку? Во-первых, чтобы самому не забыть, а во-вторых, думаю, что эта информация пригодится пользователям , начиная со следующей версии 0.6 ;-)



Просмотров