Конвертирование в xml. Преобразование файлов Excel в XML и обратно. Возникают проблемы при импорте нескольких XML-файлов, которые используют одно пространство имен, но разные схемы

Конвертирование в xml. Преобразование файлов Excel в XML и обратно. Возникают проблемы при импорте нескольких XML-файлов, которые используют одно пространство имен, но разные схемы

03.11.2019

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

Способ 1: с помощью программы Excel

Ввиду того, что Excel безупречно работает с файлами блочного формата, то и расширение XML она может открыть без проблем. Так что можно без зазрения совести сказать, что Excel - это конвертер XML в XLS. Рассмотрим, как все же преобразить формат с его помощью:

  1. Откройте Excel.
  2. На панели нажмите «Файл».
  3. Кликните по опции «Открыть».
  4. В появившемся окне «Проводника» перейдите в директорию с XML-файлом и откройте его.
  1. Снова откройте вкладку «Файл».
  2. Выберите опцию «Сохранить как».
  3. Перейдите в директорию, в которую нужно поместить измененный документ.
  4. В выпадающем списке «Тип файла» определите пункт «Книга Excel».
  5. Сохраните файл, нажав соответствующую кнопку.

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

Способ 2: опция «Импорт данных» в Excel

Excel - конвертер XML в XLS с двумя способами выполнения этой задачи. Поэтому перейдем непосредственно ко второму варианту, который подразумевает использование опции «Импорт данных». Но перед началом надо включить меню «Разработчик», так как именно в нем находится нужный инструмент. Далее нужно сделать следующее:

  1. Откройте программу.
  2. Перейдите в меню «Файл».
  3. Следуйте в раздел «Параметры».
  4. Откройте меню «Настройка ленты».
  5. Поставьте отметку рядом со строкой «Разработчик», которая находится в правой области окна.
  6. Нажмите ОК.

Нужная панель инструментов вынесена в интерфейс программы, а это означает, что мы можем приступать к конвертации:

  1. Перейдите на вкладку «Разработчик».
  2. На панели инструментов выберите пункт «Импорт».
  3. Откроется окно, в котором необходимо выбрать файл формата XML.
  4. Появится окно с предложением создать схему на основе данных. Нажмите кнопку ОК.
  5. После этого появится второе окно, в котором вам нужно определиться с местом расположения импортируемой таблицы. Кликните по ячейке A1 и нажмите ОК.

Файл импортируется в программу Excel. Теперь его можно сохранить как XLS. Для этого по аналогии с предыдущей инструкцией откройте вкладку «Файл», кликните по «Сохранить как», укажите директорию, выберите формат и сохраните.

Способ 3: с помощью интернет-сервиса

Может случиться так, что вам понадобится конвертер XLS в XML для НДС, например. В этом случае Excel не поможет, и потребуется обратиться к другой программе. В данном случае поговорим об онлайн-сервисе Convertio:

  1. В любом браузере перейдите на главную страницу данного сервиса.
  2. Выберите способ загрузки файла. Если он расположен у вас на диске, нажмите кнопку «С компьютера» и выберите его в файловом менеджере. Если в «облаке», то выберите само хранилище, а затем файл.
  3. Документ добавлен и готов к конвертации. Для это из выпадающего списка справа нужно выбрать формат XML.
  4. Нажмите кнопку «Преобразовать».

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

Вот мы и рассмотрели конверторы XML в XLS и наоборот. Как можно отметить, для конвертации XML отлично подходит программа Excel. Однако она не может преобразовать XLS, поэтому для этого требуется прибегать к помощи других программ. В данном случае это онлайн-сервис Convertio.

У вас есть идеальный файл со всеми вашими данными о продукте или статистике, и теперь вам нужны эти данные в формате XML.

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

Конечно, эти инструменты абсолютно бесполезны, если ваши данные не готовы к конверсии.

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

Шаг 1 Какой формат является вашим исходным файлом?

Тип вашего файла будет определяющим фактором того, как вы приближаетесь к преобразованию. Если ваш файл является одним из следующих типов, вам повезло.
Ваше приложение будет конвертировать его для вас:

Примечание. Важно отметить, что файлы Microsoft экспортируются в определенном формате. Эти документы могут быть или не быть тем, что вы ожидаете. Они содержат элементы, относящиеся к форматированию вашего документа Excel. Это было бы не идеально, если вы используете данные в приложении, которое относится к формату входящих данных.

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

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

Tab Delimited, CSV

Существуют другие инструменты конвертера, такие как XML-конвертер Rustemsoft или XML-Buddy (плагин Eclipse) из программного обеспечения Bocaloca. Эти приложения могут экспортировать ваши данные, а также предоставить вам файл XML Schema или DTD (определение типа документа), если это необходимо. Эти приложения очень удобны и делают процесс преобразования вашего файла или базы данных в XML более удобным для пользователя.

Шаг 2 Если вы на этом этапе, должны преобразовать его вручную.

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

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

Закрытые теги (<> или )

Атрибут элемента должен быть заключен в двойные кавычки

(<страна country id = «7»>)

XML чувствителен к регистру. Другими словами, начальный и конечный теги должны использовать один и тот же случай

Вот основной список голландских художников XVII века.

Рембрандт Ван Рейн, 1606-1669, Ночной дозор
Хендрик Аверкамп, 1585-1634, зима
Ян де Бисхоп, 1628-1671, Оостропорт

Как видите, данные разделяются запятыми.

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

Поэтому нам нужно создать XML-файл со следующей структурой:

Имя художника
Год рождения художника
Год смерти художника
Живопись художника

Шаг 3 С учетом этого формата мы можем создать XML-файл.

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


Rembrandt Van Rijn
1606
1669
Night Watch

Hendrick Avercamp
1585
1634
Winter

Jan de Bisschop
1628
1671
The Oostpoort

У каждого из наших художников есть две даты, связанные с ними, а также и картины.

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

Те, кто владеет замечательной программой TextKit, или по крайней мере слышали о ней, (кто не слышал, срочно ) должны были заметить в числе ее возможностей разбор XML-документов в любой шаблон. Т.е, если у нас есть XML документ, мы без проблем стряпаем сайт при помощи ТекстКита.

Остается одна маленькая проблема, как получить этот XML. В действительности, для целей создания сайта можно брать готовые документы различных партнерок, типа МиксМаркета или Озона . Но про них как-нибудь в другой раз. Я расскажу, как получить XML из обычной XLS-таблицы. Фактически, это формат MS Excel.

Владение этим знанием позволит нам делать сайты при помощи ТекстКита из любых баз в Экселе. Работать будем в 2007-м офисе.

1) Загружаем надстройку для работы с XML отсюда .

2) Заходим в главное меню экселя, параметры.

3) В открывшемся меню выбираем «Надстройка». Ищем пункт «Управление», выбираем «Надстройки Excel» и жмем «Перейти»:

4) В открывшемся окне через «Обзор» выбираем нужный нам файл XmlTools.xla , добавляем его в панель и активируем, поставив галочку напротив него.

По умолчанию этот файл хранится в следующей папке на жестком диске:
\Office Samples\OfficeExcel2003XMLToolsAddin.

5) Если вы все сделали правильно, то в «Параметрах» в разделе «Надостройки» вы увидите установленное расширение:

Теперь берем наши данные для создания XML документа и работаем с ними.

1) Жмем на кнопку на панели. Выбираем первый пункт:

2) В появившемся окне выбираем yes/no если наши данные содержат / не содержат заголовка, в моем случае содержат, потому переставляю галочку на yes. Здесь же зажимаем маленькую «пипку», чтобы выбрать ячейки с данными:

3) Протягиванием выбираем данные для создания XML — документа. Отжимаем «пипку» и жмем ОК.

Если все сделали верно, то табличка станет сине-белой, и менюшка здорово изменится:

Ну, уже почти все. Теперь идем в параметры сохранения документа и там выбираем XML — данные.

Собственно, вот и все! Мы получили на выходе готовый XML-документ, который теперь без проблем можем разобрать в парсере . Но про это как-нибудь в другой раз 🙂

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

В последние несколько лет язык XML (Extensible Markup Language, букв, «расширяемый язык разметки») стал распространенным форматом обмена информацией, и нет ничего необычного в том, что люди и организации отправляют друг другу файлы XML. Простые структуры, лежащие в основе XML, делают обмен информацией чрезвычайно простым, причем неважно, используют ли все стороны одно и то же программное обеспечение и браузеры . Однако до недавних пор, хотя общие утилиты XML стали широко распространены, заполнить пробел между документами XML и пользовательским интерфейсом было еще достаточно трудно. Microsoft Excel упрощает эту задачу, по крайней мере, для данных в сетке таблицы.

В этом трюке используются возможности Excel, доступные только в Excel для Windows старше 2003 года. Более ранние версии Excel не поддерживают их; эти возможности не поддерживаются и в существующих, и планируемых версиях Excel для Macintosh.

Начнем с простого документа XML, приведенного в листинге 8.1.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 < ?xml version- "1.0" encoding- "UTF-8" ?> < sales> < sale> < date> 2003 - 10 - 05 < isbn> 0596005385 < title> Off1ce 2003 XML Essentia1s < priceus> 34.95 < quantity> 200 < customer IO= "1025" > Zork"s Books 2003-10-05 0596002920 <priceus>39.95</priceus> <quantity>90</quantity> <customer ID="1025">Zork" </span>s Books</ customer> </ title></ sale> < sale> < date> 2003 - 10 - 05 </ date> < isbn> 0596002378 </ isbn> < title> SAX2</ title> < priceus> 29.95 </ priceus> < quantity> 300 </ quantity> < customer ID= "1025" > Zork<span>"s Books</customer> </sale> <sale> <date>2003-10-05</date> <isbn>0596005385</isbn> <title>Office 2003 XML Essentials 34.95 10 Books of Glory 2003-10-05 0596002920 39.95 25 Books of Glory 2003-10-07 0596002378 SAX2 29.95 5 Books of Glory 2003-10-18 0596002378 SAX2 29.95 15 Title Wave 2003-10-21 0596002920 39.95 15 Books for You

// Листинг 8.1. Простой документ XML для анализа в Excel < ?xml version-"1.0" encoding-"UTF-8"?> 2003-10-05 0596005385 Off1ce 2003 XML Essentia1s 34.95 200 Zork"s Books 2003-10-05 0596002920 XML in a Nutshell. 2nd Edition <priceus>39.95</priceus> <quantity>90</quantity> <customer ID="1025">Zork"s Books</customer> 2003-10-05 0596002378 SAX2 29.95 300 Zork"s Books 2003-10-05 0596005385 Office 2003 XML Essentials 34.95 10 Books of Glory 2003-10-05 0596002920 XML in a Nutshell, 2nd Edition 39.95 25 Books of Glory 2003-10-07 0596002378 SAX2 29.95 5 Books of Glory 2003-10-18 0596002378 SAX2 29.95 15 Title Wave 2003-10-21 0596002920 XML in a Nutshell. 2nd Edition 39.95 15 Books for You

Этот документ можно открыть непосредственно в Excel командой Файл → Открыть (File → Open). Откроется диалоговое окно (рис. 8.1).

Если вы выберете переключатель XML-список (As an XML list), то увидите предупреждение, что Excel создаст собственную схему для этого документа, не имеющего схемы (рис. 8.2).

Щелкнув кнопку ОК, вы увидите, какой способ Excel выбрал для представления информации в открываемом документе в виде электронной таблицы (рис. 8.3). Обратите внимание, что Excel ожидает встретить формат даты, который используется для элемента даты, поэтому даты, импортированные как 2003-10-05, будут отображаться как 10/5/2003.

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

Раскрывающиеся списки в заголовках столбцов позволяют выбирать способ сортировки данных (по умолчанию данные выводятся в том порядке, в котором они записаны в исходном документе). Можно также включить отображение строки итогов Итог (Total); для этого можно воспользоваться панелью инструментов Список (List) или щелкнуть правой кнопкой мыши в любом месте списка и в контекстном меню выбрать команду Список → Строка итогов (List → Total Row). Когда строка итогов появится, выбрать вид итоговой информации можно будет в раскрывающемся меню (рис. 8.4).

Рис. 8.4. Выбор итогов для списка XML в Excel

Данные можно обновить, добавив при этом в обновляемую область информацию из документа XML с такой же структурой. Если у вас есть еще один документ с такой структурой, можете щелкнуть список правой кнопкой мыши, в контекстном меню выбрать команду XML → Импорт (XML → Import) и выбрать второй документ. Кроме того, после редактирования данные можно экспортировать обратно в файл XML, щелкнув список правой кнопкой мыши и выбрав в контекстном меню команду XML → Экспорт (XML → Export). Это превращает Excel в очень удобный инструмент редактирования простых XML-документов с табличной структурой.

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

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 < ?xml version= "1.0" encoding= "UTF-8" ?> < xs: schema xmlns: xs= "http://www.w3.org/2001/XMLSchema" elementFormDefault= "qualified" > < xs: element name= "sales" > < xs: complextype> < xs: sequence> < xs: element maxOccurs= "unbounded" ref= "sale" > < xs: element name= "sale" > < xs: complextype> < xs: sequence> < xs: element ref= "date" > < xs: element ref= "ISBN" > < xs: element ref= "T1tle" > < xs: element ref= "PriceUS" > < xs: element ref= "quantity" > < xs: element ref= "customer" > < xs: element name= "date" type= "xs:date" > < xs: element name= "ISBN" type= "xs:string" > < xs: element name= "Title" type= "xs:string" > < xs: e1ement name= "PriceUS" type= "xs:decimal" > < xs: element name= "quant1ty" type= "xs:integer" > < xs: element name= "customer" > < xs: complextype mixed= "true" > < xs: attribute name= "ID" use = "required" type= "xs:integer" >

// Листинг 8.2. Схема для данных о продаже книг < ?xml version="1.0" encoding="UTF-8"?>

Обратите внимание, что элемент date определен как дата, а элемент ISBN определен как строка, а не как целое число. Если вы начнете с открытия этой схемы, а не документа, то заставите Excel загружать документ, сохранив ведущий нуль в ISBN.

На этот раз вы создадите список до загрузки документа XML, начав с пустого рабочего листа. Вам понадобится открыть область задач Источник XML (XML Source). Если она еще не открыта, нажмите сочетание клавиш Ctrl+Fl. Затем в раскрывающемся списке вверху области задач выберите Источник XML (XML Source) и вы увидите что-то похожее на рис. 8.6.

Чтобы загрузить схему, щелкните кнопку Карты XML (XML Maps). Откроется диалоговое окно Карты XML (XML Maps) (рис. 8.7).

Щелкните кнопку Добавить (Add), чтобы открыть схему, и выберите схему (рис. 8.8). Если схема не ограничивает документы одним начальным элементом, появится диалоговое окно с просьбой выбрать корневой элемент. Так как документы в этом примере начинаются с элемента sales, выберите «sales».

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

В диалоговом окне Карты XML (XML Maps) Excel сообщит, что схема была добавлена к электронной таблице. Если вы щелкнете кнопку ОК, то вернетесь в главное окно Excel и в области задач Источник XML (XML Source) появится диаграмма, отображающая структуру схемы. Теперь, когда у вас есть структура, можно создать список. Самый простой способ сделать это, особенно с небольшими документами, как наш, - перетащить значок sales на ячейку А1.

Теперь, обустроив дом для данных, нужно заселить его. Можно щелкнуть кнопку Импорт XML-данных (Import XML Data) на панели инструментов Список (List) или щелкнуть правой кнопкой мыши список и в контекстном меню выбрать кнопку XML → Импорт (XML → Import). Если вы выберете файл, который уже открывали ранее (в листинге 8.1), то увидите результат, как на рис. 8.3. Обратите внимание на добавление ведущих нулей к значениям, которые теперь являются текстовыми, как и должно быть.

Элементы можно перетаскивать и по отдельности, если вы хотите поменять их местами, или помещать разные фрагменты информации в разные места электронной таблицы.

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

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

Объявление

Формат файлов XML Document

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

Технические сведения о файлах XML

Документ XML представляет собой последовательность символов, в которой каждый символ Unicode можно найти в каждом отдельном документе. Такой код из символов Unicode, который составляет документ XML, разделен на маркеры и текстовое содержание на основе простых синтаксических правил. У этого формата имеется важное преимущество перед HTML: формат XML поддерживает произвольное размещение тегов для четкого определения тех данных, которые такие теги охватывают.

Дополнительная информация о формате XML



© 2024 beasthackerz.ru - Браузеры. Аудио. Жесткий диск. Программы. Локальная сеть. Windows

Расширение файла .xml
Категория файлов
Файл-пример (252,17 KiB)
Связанные программы Microsoft Visual Studio 2013
JAPISoft EditiX
Wattle XMLwriter
MacroMates TextMate