English? »

yXML

yXML (yocto XML) — это довольно быстрая и компактная сишная библиотека для чтения и записи простых XML данных. Не требует для своей сборки каких-либо дополнительных библиотек, кроме стандартных. Размер исходника (один .c файл и один .h файл) не превышает 300 неплохо прокомментированных строк на Си. Так что применять, а также модифицировать yXML исключительно просто. Условия использования привлекательны — изменённая лицензия BSD (modified BSD a.k.a. the 3-clause BSD license; GPL-совместима), что даёт большую свободу действий.

Скорость работы

Тестирование проходило на компьютере c процессором "AMD Turion 64" (2GHz, 3990.15 bogomips) под управлением ОС Ubuntu Linux 9.04. Получены следующие максимальные скорости обработки XML (под мегабайтом подразумевается 1024 КБ):

  • Чтение XML-данных из строки (скорость парсинга функцией yxml_read): 37-52 МБ/сек
  • Преобразование XML-данных обратно в строку (скорость генерирования строк функцией yxml_write): 122 МБ/сек

При тестировании под MS Windows XP SP3 на компьютере с процессором Intel Atom N270 (1.6 GHz) скорость составила 8 и 67 МБ/сек соответственно. В обоих случаях использовался компилятор GCC.

Пример использования

/* example.c */

#include <stdio.h>
#include <stdlib.h>
#include "yxml.h"

int main()
{
    const char *p;
    int len;
    yxml_t *xml = yxml_read("<data id='mydata'> test <detail index='1' /><detail index='2' /></data>", &p);
    char *str = yxml_write(xml, &len);
    yxml_view(xml);
    printf("%s\n", str);
    yxml_free(xml);
    free(str);
    return 0;
}

/* Сборка: gcc -x c -O3 yxml.c example.c -o run_example */

Ограничения

yXML не поддерживает все возможности XML целиком. На данный момент поддерживается только самое важное — теги, атрибуты, комментарии и простые текcтовые значения внутри тегов. Причём комментарии пропускаются так же как и специальные теги вида <? .. > и <! .. >. Этого достаточно для хранения, к примеру, различной конфигурационной информации или файлов с данными.

Обсуждение »
Часто задаваемые вопросы о yXML »
Скачать » ( последняя версия: 1.1 )

Правильный HTML 4.01 Правильный CSS