我用 C 语言编程并使用 libxml 生成 XML 文件,但我得到以下结果 错误:xmlEscapeEntities:字符超出范围。我从数据库中选取数据并将其存储在我生成的标签中(在生成 XML 文件期间)。
我想知道为什么我会收到此错误。造成这种情况的主要原因是什么? 代码尖晶石:
xmlNodeSetContent(temp_id,(const xmlChar *)details[nCl1+0]);
632 xmlNodeSetContent(temp_id2, (const xmlChar *)details[nCl1+1]);
633 xmlNodeSetContent(temp_id3,(const xmlChar *)details[nCl1+2]);
634 xmlNodeSetContent(temp_id4,(const xmlChar *)details[nCl1+3]);
635 xmlNodeSetContent(temp_id5,(const xmlChar *)details[nCl1+4])
;
这里变量“details”具有从数据库中选取的值。
这是代码中出现此错误的部分。
最佳答案
我猜您提供的 xmlChar *
字符串不是正确的 UTF-8 字符串。所以它可能是用其他标准编码的,你需要先将其转换为 UTF-8。您可以使用例如 iconv library .
关于c - xmlEscapeEntities : char out of range - Error,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9602255/