16 декабря 2014 г.

LibreOffice Calc: Импорт xml-файлов

В конце предыдущей статьи я затронул вопрос импорта значений, разделённых запятыми (CSV).

В этой статье рассматривается вопрос импорта xml-файлов в LibreOffice Calc на примере файла с ежедневными курсами валют, полученного с сайта Центрального Банка РФ.

Центральный Банк РФ предоставляет на своем сайте возможность получения данных с помощью xml. Подобнее об этом здесь.

Для примера я использовал xml-файл с ежедневными курсами валют www.cbr.ru/scripts/XML_daily.asp. Но можно получить данные за любой день.

Открываем ссылку www.cbr.ru/scripts/XML_daily.asp в браузере,

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

<?xml version="1.0" encoding="UTF-8" ?>

Если же в перовой строке стоит кодировка windows-1251, то нажимаем правой кнопкой мыши на страницу и выбираем пункт «Исходный код страницы» (в некоторых браузерах может называться «Просмотр кода страницы»). Копируем весь текст в обычный текстовый редактор и меняем в первой строке кодировку с windows-1251 на UTF-8 и сохраняем получившийся текстовый файл с расширением .xml.

Всё, первый этап пройден. Данные сохранены и теперь надо их импортировать в LibreOffice Calc. Если просто открыть данный xml-файл в Calc, то получится белиберда. Поэтому сначала открываем пустую таблицу и идем Данные → Источник XML. В появившемся диалоге нажимаем на иконку Открыть файл и выбираем сохраненный xml-файл.

Теперь в данном диалоге появилась структура xml-файла. Мы видим родительский тег ValCurs у которого есть два атрибута - Date и name. Выбираем в диалоге атрибут Date(содержит текущую дату) и жмем на любую ячейку в таблице (или вручную прописываем номер ячейки в поле Отображать в ячейке).

Повторяем аналогичное действие и для атрибута name. Можно это и не делать, так как данный атрибут содержит англоязычное название.

Теперь выбираем тег Valute. Данный тег содержит много дочерних тегов и выделяется вместе с ними. В данном случае достаточно в поле Отображать в ячейке указать ячейку с которой начнется таблица с курсами валют.

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

Вот так просто можно получать и обрабатывать информацию из интернета.

Смотрите также:

2 комментария:

  1. Эти данные из xml фиксируются в таблице. А как сделать что они автоматически менялись, когда данные в xml изменились?

    ОтветитьУдалить
  2. У меня строка "источник XML" неяркая, не нажимается.

    ОтветитьУдалить