pkg-config libxml-2.0 --modversion
2.5.1
Имею XML файл с русскими строчками.
Что надо писать в атрибуте encoding в XML файле?
При получении значания русского атрибута функцией xmlGetProp
получаю нечитабильное значение предполагаю что это юникод.
Как правильно прочитать? Если можно пример чтения атрибута и вывод его
на экран функцией printf...
А и правда херня какая-то получается:
----- test.xml
<?xml version="1.0" encoding="koi8-r"?>
<Document property="Привет, мир!"/>
----- test.xml всё
----- test.c
#include <libxml/xmlmemory.h>
#include <libxml/parser.h>
#include <stdio.h>
#include <stdlib.h>
int main(void)
{
xmlDocPtr doc;
xmlNodePtr cur;
xmlChar* val;
doc = xmlParseFile("test.xml");
cur = xmlDocGetRootElement(doc);
val = xmlGetProp(cur, (const xmlChar*) "property");
printf("%s\n", val);
return 0;
}
----- test.c всё
компилируем:
cc -I/usr/include/libxml2 -o test test.c -lxml2
и видим:
bash-2.05a$ ./test
п÷я─п?п╡п╣я┌, п?п?я─!
Нет времени щас разбираться, но ты не один в беде :)