static int xml_load_items(const char* filename) { struct rtgui_filerw* filerw; char buffer[512]; rtgui_xml_t *xml; int length; /* create filerw context */ filerw = rtgui_filerw_create_file(filename, "rb"); if (filerw == RT_NULL) { rt_kprintf("read file fail %s\n", filename); return 0; } length = rtgui_filerw_read(filerw, buffer, 512, 1); if(length <= 0) { rt_kprintf("read fail\n"); rtgui_filerw_close(filerw); return 0; } xml = rtgui_xml_create(512, xml_event_handler, RT_NULL); if (xml != RT_NULL) { rtgui_xml_parse(xml, buffer, length); rtgui_xml_destroy(xml); } rtgui_filerw_close(filerw); return 0; }
void demo_xml() { rtgui_xml_t *xml; xml = rtgui_xml_create(512, xml_event_handler, RT_NULL); if (xml != RT_NULL) { rtgui_xml_parse(xml, xml_str, sizeof(xml_str)); rtgui_xml_destroy(xml); } }