xmlEscapeEntities:char超出范围 - 错误

时间:2012-03-07 13:17:50

标签: c xml linux libxml2

Iam在C中编程并使用libxml生成XML文件,但我得到以下内容 错误:xmlEscapeEntities:char超出范围。我从数据库中挑选数据并将其存储在生成的标签中(在生成XML文件期间)。

我想知道为什么我会收到此错误。这是什么主要原因? Code spinet:

     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])

;

这里变量"详细信息"具有从数据库中选取的值 这是我得到此错误的代码的一部分。

1 个答案:

答案 0 :(得分:1)

我猜你提供的字符串xmlChar *不是正确的UTF-8字符串。因此它可能以其他标准编码,您需要先将其转换为UTF-8。您可以使用例如iconv library

查看question about xmlChar