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

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

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

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

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

Редактирование XML

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

XML и XSL файлы

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

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

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

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

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

PHP файл

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

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

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

ASP файл

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

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

Вверх XSLT на стороне сервера

Собрать данные из XML файлов в Excel и экспортировать

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

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

Как создать XML-файл из Excel

XML – стандарт файла для передачи данных в Сети. Excel поддерживает его экспорт и импорт.

Рассмотрим создание XML-файла на примере производственного календаря.

  1. Сделаем таблицу, по которой нужно создать XML файл в Excel и заполним ее данными.
  2. Создадим и вставим карту XML с необходимой структурой документа.
  3. Экспортируем данные таблицы в XML формат.

Итак.

  1. Наша таблица – производственный календарь.
  2. Создаем в любом текстовом редакторе (например, «Блокнот») желаемую карту XML структуры для генерации файла сохраним. В данном примере буде использовать следующую карту структуры:
  3. Открываем инструмент «Разработчик». Диалоговое окно «Источник» на вкладке XML.
  4. Если программа Excel не видит карт XML, их нужно добавить. Жмем «карты XML». И указываем путь к нашему файлу с выше указанной схемой карты созданной в текстовом редакторе.
  5. Добавить ОК.
  6. В правой колонке появляются элементы схемы. Их нужно перетащить на соответствующие названия столбцов таблицы.
  7. Проверяем возможен ли экспорт.
  8. Когда все элементы будут сопоставлены, щелкаем правой кнопкой мыши по любой ячейке в таблице – XML – экспорт.

Сохраняем в XML файл.

Другие способы получения XML-данных (схемы):

  1. Скачать из базы данных, специализированного бизнес-приложения. Схемы могут предоставляться коммерческими сайтами, службами. Простые варианты находятся в открытом доступе.
  2. Использовать готовые образцы для проверки карт XML. В образцах – основные элементы, структура XML. Копируете – вставляете в программу «Блокнот» — сохраняете с нужным расширением.



Как сохранить файл Excel в формате XML

Один из вариантов:

  1. Нажимаем кнопку Office. Выбираем «Сохранить как» — «Другие форматы».
  2. Назначаем имя. Выбираем место сохранения и тип файла – XML.

Сохранить.

Если выдает ошибку, книгу можно сохранить в виде таблицы XML 2003 либо веб-страницы. С этими форматами проблем, как правило, не возникает.

Еще варианты:

  1. Скачать конвертер XLC в XML. Либо найти сервис, с помощью которого можно экспортировать файл онлайн.
  2. Скачать с официального сайта Microsoft надстройку XML Tools Add-in. Она в бесплатном доступе.
  3. Открываем новую книгу. Кнопка Office – «Открыть».

Как открыть XML файл в Excel

  1. Меняем формат на «файлы XML». Выбираем нужный файл. Жмем «Открыть».
  2. Способ открытия – XML-таблица. ОК.
  3. Появляется оповещение типа

Жмем ОК. С полученной таблицей можно работать, как с любым файлом Excel.

Как преобразовать файл XML в Excel

  1. Меню «Разработчик» — вкладка «Импорт».
  2. В диалоговом окне выбираем файл XML, который хотим преобразовать.
  3. Нажимаем «Импорт». Программа Excel предложит самостоятельно создать схему на основе полученных данных. Соглашаемся – ОК. Откроется окно, где нужно выбрать место для импортируемого файла.
  4. Назначаем диапазон для импорта. Лучше брать с «запасом». Жмем ОК.

Созданную таблицу редактируем и сохраняем уже в формате Excel.

Как собрать данные из XML файлов в Excel

Принцип сбора информации из нескольких XML-файлов такой же, как и принцип преобразования.

XML-формат: чем открыть и редактировать?

Когда мы импортируем данные в Excel, одновременно передается карта XML. В эту же схему можно переносить и другие данные.

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

Чтобы настроить параметры привязки, откройте в меню «Разработчик» инструмент «Свойства карты».

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

  1. Каждый новый файл будет проверяться программой Excel на соответствие установленной карте (если поставим галочку напротив этого пункта).
  2. Данные могут обновляться. Либо новая информация добавится в существующую таблицу (имеет смысл, если нужно собрать данные из похожих файлов).

Это все ручные способы импорта и экспорта файлов.

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

Исправление в XML-файле

Я
   Evladar

Если у кого была такая задача, подскажите методику.

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

Как это сделать (открыть на перезапись)?

 
 

   Ёпрст

Открыть блокнотом и исправить

   Evladar

(1) Когда будет тысяча строк, обращусь за помощью )

   ДенисЧ

поставить нормальные редактор XML

   Ёпрст

(2) Не вопрос, найти и заменить в любом текстовом редакторе пока еще никто не отменял

   Evladar

Народ, давайте, по существу )

   ДенисЧ

(5) не тупи. Тебе уже ответили.

   Эльниньо

Не нравится блокнот — открой вордом и удивись

   Evladar

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

Но это долго.
Ищу вариант попроще.

   Evladar Ну, вы что, каким блокнотом? ))У меня тысяча строк, и мне надо дату увеличить на 1 день в определённом атрибуте.    Любопытная

(9) и в чем проблема?

 
 

   Evladar

(1) Надо посадить пользователя сделать 1000 изменений в блокноте исправлением разных дат. Вместо нажатия одной кнопки.
Какая может быть проблема?)

   Ёпрст

(9) и чего ?
читаешь один файл, пишешь в другой, можешь тупо по-строчно, вообще без всяких структур и дом-документов

   Evladar

(12)Вот и я думаю, можно ли проще.
Ладно, ясно.

Спасибо. )

   Мыш

ТекстовыйДокумент.ЗаменитьСтроку(НомерСтроки, Строка);

   mistеr

(0) Основных варианта два.

1. Считать в DOM, найти элемент, исправить, записать.

Как редактировать XML файл при помощи Python?

Минусы: внешний вид на выходе может отличаться.

2. Считать как текст, найти нужное место поиском, заменить, записать. Минусы: можно ошибиться с поиском.

   hovnokoder Я делал так:

   НовИмяф=Лев(имяф,(СтрДлина(имяф)-3))+"xml";             ТВ=СоздатьОбъект("Текст");               ТВ.Открыть("D:\mail\"+имяф);             Стр1=ТВ.ПолучитьСтроку(1);              Если Найти(Стр1,"utf-8")>0 Тогда                Стр1=СтрЗаменить(Стр1,"utf-8","WINDOWS-1251");                ТВ.ЗаменитьСтроку(1,Стр1);                ТВ.Записать("D:\mail\"+НовИмяф);                Фс.УдалитьФайл("D:\mail\"+имяф);…….

TurboConf 5 — расширение возможностей Конфигуратора 1С

ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.

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

Исправление в XML-файле

Я
   Evladar

Если у кого была такая задача, подскажите методику.

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

Как это сделать (открыть на перезапись)?

 
 

   Ёпрст

Открыть блокнотом и исправить

   Evladar

(1) Когда будет тысяча строк, обращусь за помощью )

   ДенисЧ

поставить нормальные редактор XML

   Ёпрст

(2) Не вопрос, найти и заменить в любом текстовом редакторе пока еще никто не отменял

   Evladar

Народ, давайте, по существу )

   ДенисЧ

(5) не тупи. Тебе уже ответили.

   Эльниньо

Не нравится блокнот — открой вордом и удивись

   Evladar

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

Но это долго.
Ищу вариант попроще.

   Evladar Ну, вы что, каким блокнотом? ))У меня тысяча строк, и мне надо дату увеличить на 1 день в определённом атрибуте.    Любопытная

(9) и в чем проблема?

 
 

   Evladar

(1) Надо посадить пользователя сделать 1000 изменений в блокноте исправлением разных дат. Вместо нажатия одной кнопки.
Какая может быть проблема?)

   Ёпрст

(9) и чего ?
читаешь один файл, пишешь в другой, можешь тупо по-строчно, вообще без всяких структур и дом-документов

   Evladar

(12)Вот и я думаю, можно ли проще.
Ладно, ясно. Спасибо. )

   Мыш

ТекстовыйДокумент.ЗаменитьСтроку(НомерСтроки, Строка);

   mistеr

(0) Основных варианта два.

1. Считать в DOM, найти элемент, исправить, записать. Минусы: внешний вид на выходе может отличаться.

2.

XML проверка,определение, чем открыть

Считать как текст, найти нужное место поиском, заменить, записать. Минусы: можно ошибиться с поиском.

   hovnokoder Я делал так:

   НовИмяф=Лев(имяф,(СтрДлина(имяф)-3))+"xml";             ТВ=СоздатьОбъект("Текст");               ТВ.Открыть("D:\mail\"+имяф);             Стр1=ТВ.ПолучитьСтроку(1);              Если Найти(Стр1,"utf-8")>0 Тогда                Стр1=СтрЗаменить(Стр1,"utf-8","WINDOWS-1251");                ТВ.ЗаменитьСтроку(1,Стр1);                ТВ.Записать("D:\mail\"+НовИмяф);                Фс.УдалитьФайл("D:\mail\"+имяф);…….

Попробуйте новый бесплатный сервис для быстрого анализа кода типовых конфигураций 1c-api.com

ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.

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