English? » | yXMLyXML (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 КБ):
При тестировании под 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товые значения внутри тегов. Причём комментарии пропускаются так же как и специальные теги вида <? .. > и <! .. >. Этого достаточно для хранения, к примеру, различной конфигурационной информации или файлов с данными. Обсуждение » |
|
| |