Сайт о телевидении

Сайт о телевидении

» » Редактировать xml как таблицу. Редактирование XML

Редактировать xml как таблицу. Редактирование XML


Давно работаю с 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 ;-)

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

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

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

Способ 1: XmlGrid

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

Начать работу с XML-файлом в XmlGrid можно либо загрузив его на сайт, либо же поместив туда непосредственное содержимое документа.

Начнем со второго варианта. В этом случае мы просто копируем весь текст из файла XML и вставляем его в поле на главной странице сервиса. А затем жмем на кнопку «Submit» .


Другой же способ — загрузить XML-документ с компьютера.


Есть еще и третий способ импорта файла XML в XmlGrid — загрузка по ссылке.


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


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

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

Способ 2: TutorialsPoint

Если предыдущий сервис вам показался довольно специфичным, можно воспользоваться более классическим XML-редактором. Такой инструмент предлагается на одном из крупнейших онлайн-ресурсов в сфере IT-образования — TutorialsPoint.

Перейти к XML-редактору мы можем через дополнительное меню на сайте.


Интерфейс этого онлайн-решения максимально понятен и содержит весь необходимый функционал для полноценной работы с документом XML.

Редактор представляет собой пространство, разделенное на две части. Слева находится область для написания кода, справа — его древовидное представление.


Чтобы загрузить XML-файл в онлайн-сервис, придется воспользоваться меню в левой части страницы, а именно вкладкой «Upload File» .

Для импорта документа с компьютера используйте кнопку «Upload from Computer» . Ну а чтобы загрузить XML-файл напрямую со стороннего ресурса, введите ссылку в поле с подписью «Enter URL to Upload» ниже и нажмите «GO» .

По окончании работы с документом его можно сразу сохранить в памяти компьютера. Для этого воспользуйтесь кнопкой «Download» над древовидным представлением XML-кода.

В итоге файл с названием «file.xml» будет сразу же загружен на ваш ПК.

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

Способ 3: Code Beautify

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

Чтобы открыть непосредственно XML-редактор, на главной странице сервиса под заголовком «Popular Functionality» или «Web Viewer» найдите кнопку «XML Viewer» и нажмите на нее.

Интерфейс онлайн-редактора, как и функциональная составляющая, очень схож с уже рассмотренным выше инструментом. Как и в решении TutorialsPoint, рабочее пространство разделено на две части — область с XML-кодом («XML Input» ) слева и его древовидное представление («Result» ) справа.

Загрузить файл для редактирования можно при помощи кнопок «Load Url» и «Browse» . Первая позволяет импортировать XML-документ по ссылке, а вторая — из памяти вашего компьютера.


После окончания работы с файлом, его обновленную версию можно загрузить на компьютер в виде CSV-документа или с исходным расширением XML. Для этого используются кнопки «Export to CSV» и «Download» соответственно.

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

Хороший 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 файле, можно редактировать прямо в клиентском браузере.

Открытие, редактирование и сохранение 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. Обычно в Windows данное расширение файла не привязано к программе и поэтому открыть XML файл двойным кликом не получится. В данной статье мы расскажем о том, что это за файл, для чего он может использоваться и чем его открыть.

Перед тем, как приступать к открытию XML файлов, несколько слов о том, что это за файлы и для чего они используются. XML файл – это текстовый файл, построенный с использованием языка разметки XML или eXtensible Markup Language. Данная разметка была разработана для создания документов, которые было бы не сложно обрабатывать программным путем, а также было просто читать человеку без использования специальных программ. Это свойство позволяет открывать и редактировать XML файлы с помощью практически любого текстового редактора.

Язык XML – это набор простых правил, которым должен следовать файл для того, чтобы соответствовать формату. При этом XML не фиксирует разметку, которая используется в документе, позволяя ее определять разработчику программы. Благодаря этому каждый разработчик может создать собственную разметку для решения своих задач и использовать ее в своих XML документах. Это открывает большие возможности по созданию новых форматов файлов на основе XML.

Сейчас язык разметки XML используется в множестве других форматов файлов. Например, известные всем пользователям офисного пакета Microsoft Office форматы , XLSX и PPTX хранят текстовую информацию в виде XML. Другой пример – популярный , который также построен на основе XML.

Чем открывать файлы

Как мы уже сказали, XML файл можно открыть с использованием любого текстового редактора. Например, можно использовать стандартный текстовый редактор Блокнот, который есть во всех версиях операционной системы Windows. Просто запустите Блокнот, воспользуйтесь меню «Файл – Открыть», выберите все типы файлов и откройте ваш XML файл. Также вы можете просто перетащить XML файл в окно программы Блокнот.

После этого вы увидите содержимое XML файла в программе «Блокнот». При необходимости вы даже можете его отредактировать и сохранить файл.

Если возможностей стандартного Блокнота вам недостаточно, то можете воспользоваться бесплатной программой Notepad++ (). Данная программа является специализированным текстовым редактором для программистов и веб-мастеров. Главным преимуществом Notepad++ перед простым Блокнотом является подсветка синтаксиса, которая значительно упрощает работу с XML файлами.

Также вы можете открыть XML файл с помощью любого веб-браузера (Google Chrome, Mozilla Firefox, Opera и другие). Для этого просто перетащите файл в окно браузера, и он автоматически откроется. Веб-браузеры умеют подсвечивать синтаксис XML, что значительно упрощает чтение файла, но отредактировать XML файл при помощи браузера уже не удастся.

В некоторых случаях для просмотра содержимого XML файла удобно использовать табличный процессор Excel. Для этого откройте Excel, воспользуйтесь меню «Файл – Открыть» и выберите XML файл. После этого появится небольшое окно в котором нужно выбрать «XML-таблица» и нажать «ОК».

В результате содержимое XML файла будет конвертировано в таблицу Excel, а столбцам будут даны соответствующие названия.

Как редактировать XML файлы

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