@@ -84,6 +84,13 @@ static struct ModuleContext {
8484 code = CODE; \
8585 goto exit;
8686
87+ static void xmlPrintErrorMessage (xmlErrorPtr err )
88+ {
89+ Logger_Error ("[builder] %s (%d): error %d: %s\n" ,
90+ err -> file ? err -> file : "(memory)" , err -> line , err -> code ,
91+ err -> message );
92+ }
93+
8794/** 解析 <resource> 元素,根据相关参数载入资源 */
8895static int ParseResource (XMLParserContext ctx , xmlNodePtr node )
8996{
@@ -333,7 +340,8 @@ LCUI_Widget LCUIBuilder_LoadString(const char *str, int size)
333340 memset (& ctx , 0 , sizeof (ctx ));
334341 doc = xmlParseMemory (str , size );
335342 if (!doc ) {
336- Logger_Error ("[builder] Failed to parse xml form memory\n" );
343+ xmlPrintErrorMessage (xmlGetLastError ());
344+ Logger_Error ("[builder] failed to parse xml form memory\n" );
337345 goto FAILED ;
338346 }
339347 cur = xmlDocGetRootElement (doc );
@@ -367,8 +375,8 @@ LCUI_Widget LCUIBuilder_LoadFile(const char *filepath)
367375 ctx .space = filepath ;
368376 doc = xmlParseFile (filepath );
369377 if (!doc ) {
370- Logger_Error ( "[builder] Failed to parse xml file: %s\n" ,
371- filepath );
378+ xmlPrintErrorMessage ( xmlGetLastError ());
379+ Logger_Error ( "[builder] failed to parse xml form file\n" );
372380 goto FAILED ;
373381 }
374382 cur = xmlDocGetRootElement (doc );
0 commit comments