xercesc_3_1::UTFDataFormatException

来源:互联网 发布:手机淘宝买东西流程图 编辑:程序博客网 时间:2024/05/08 17:04

使用xercesc_3_1库解析字符串流,当该流中有中文字符时,

XercesDOMParser *parser = new XercesDOMParser();
 if (NULL == parser)
 {
  return -1;
 }
 InputSource* pInputSource = new MemBufInputSource((XMLByte *)srcBytes.c_str(), srcBytes.size(), X("GUID"));
 if (NULL == pInputSource)
 {
  delete parser;
  return -1;
 }
 1.parser->parse(*pInputSource);

执行到1是,vs报内存位置 0x0012b1c4 处的 xercesc_3_1::UTFDataFormatException。

然后解析XML失败。找了很久,终于知道要怎么做了。

我用的是Qt,从网页获得是一个QString str;需要调用srcBytes = str.toUtf8().constData();

这样才不会抛出异常。

原创粉丝点击