Библиотека libxml2 для работы с XML-файлами

Программисту часто бывает нужно работать с XML-документами. Самой популярной библиотекой для этого является libxml2. Научимся ее подключать к своему проекту.

1. Что такое libxml2?

libxml2 — это библиотека для парсинга XML-документов. Это означает,что программист может искать и править отдельные атрибуты и значения в XML-документе.

Библиотека написана на языке Си, и, вследствие этого, переносима практически на все платформы (Unix, Windows, CygWin, Mac OS, RISC OS, OS/2, VMS, QNX, MVS и т.д.).

Кроме того, существуют привязки к языкам C++, Python, PHP5 и т.д.

Библиотека распространяется под MIT-лицензией, что делает эту библиотеку весьма популярной.

Официальный сайт: xmlsoft.org

2. Загрузка библиотеки

Библиотеку libxml2 в формате готовых файлов можно загрузить на сайте: www.zlatkovic.com/projects/libxml/index.html

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

Мы видим, что в минимальном варианте нужно загрузить следующие пакеты:

  • libxml
  • iconv
  • zlib

Заходим на www.zlatkovic.com/pub/libxml/ и загружаем три архива:

  • libxml2-2.7.8.win32.zip
  • iconv-1.9.2.win32.zip
  • zlib-1.2.5.win32.zip

Распаковываем эти архивы в папку с CodeBlocks. В каждом архиве содержатся папки bin (исполняемые модули), lib (статические библиотеки) и include (заголовочные файлы).

Цифры в названиях можно убрать для удобства:

3. Создание проекта

Сначала создаем обычный консольный проект как здесь. Назовем проект x1. Затем вместо примера вставим следующий код:

В этом примере мы парсим XML-документ и ищем ключ с именем «keyword». Затем выводим значение этого ключа.

4. Настройка компилятора

Чтобы пример заработал нужно сделать следующие три шага:

  1. Указать компилятору, где взять заголовочные файлы.
  2. Подключить библиотеки для компоновки.
  3. Поместить библиотеки в готовый проект.

Начнем с заголовочных файлов. Зайдите в меню «Проект — Параметры сборки — Каталоги» и добавьте пути к заголовочным файлам:

..\..\Prog\CodeBlocks2\LibXML\include
..\..\Prog\CodeBlocks2\Iconv\include

Затем переключитесь на вкладку «Настройки компоновщика» и укажите библиотеку:

..\..\Prog\CodeBlocks2\LibXML\lib\libxml2.lib

И, наконец, скопируйте следующие файлы dll в папку с программой:

  • c:\Prog\CodeBlocks2\LibXML\bin\libxml2.dll
  • c:\Prog\CodeBlocks2\Iconv\bin\iconv.dll
  • c:\Prog\CodeBlocks2\Zlib\bin\zlib1.dll

Эти файлы нужно скопировать в папку:

c:\Work\x1\bin\Debug\

5. Создание тестового файла

Нам нужен XML-документ для работы. Создайте текстовый файл и скопируйте туда текст:

Сохраните этот файл под именем a.xml в папку c:\Work\x1\bin\Debug\

Кроме того настройте рабочий каталог на эту папку. Для этого зайдите в меню «Проект — Свйоства — Цели» и напишите «bin\Debug».

6. Проверка работы

Запустите проект на компиляцию клавишей F9. Программа выведет следующее сообщение:

Это означает, что ей нужно передать файл для работы. Войдите в меню «Проект — Параметры программы» и напишите a.xml

Все готово. Запустите опять F9 и вы получите результат:

Программа нашла в XML-файле ключ «keyword» и выдала его значение: «example keyword».

Другие примеры использования библиотеки вы может посмотреть на официальном сайте: xmlsoft.org/examples/index.html Только учтите, что для использования русского текста нужно переключиться на кодировку UTF-8.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Этот сайт использует Akismet для борьбы со спамом. Узнайте, как обрабатываются ваши данные комментариев.