• 3937阅读
  • 1回复

[提问]QXmlStreamReader的问题 [复制链接]

上一主题 下一主题
离线xmldll1984
 

只看楼主 正序阅读 楼主  发表于: 2013-05-13
各位大神,我写了个简单的调用QXmlStreamReader度xml文件的测试程序,但是每次只能读出第一个节点值,然后就返回类型为
QXmlStreamReader::Invalid,错误信息为:Extra content at end of document.
帮忙分析下吧,谢谢。
附xml文件格式和代码:

<?xml version="1.0" encoding="UTF-8"?>
<PlateChar pinyin="ao">澳</PlateChar>
<PlateChar pinyin="bei">北</PlateChar>
<PlateChar pinyin="bian">边</PlateChar>


if(file.open(QFile::ReadOnly|QFile::Text))
{
     QXmlStreamReader reader;
     reader.setDevice(&file);
     reader.readNext();
     while(!reader.atEnd())
     {
          reader.readNext();
          if(reader.hasErr())
          {
               QString str= reader.errorString();
           }
     }
}
离线ppdayz

只看该作者 1楼 发表于: 2013-05-13
这个xml就是非法的,
<?xml version="1.0" encoding="UTF-8"?>
<PlateChar pinyin="ao">澳</PlateChar>

<PlateChar pinyin="bei">北</PlateChar>
<PlateChar pinyin="bian">边</PlateChar>
或者说红字部分是一个xml

改成这个试试

<?xml version="1.0" encoding="UTF-8"?>
<a>
    <PlateChar pinyin="ao">澳</PlateChar>

    <PlateChar pinyin="bei">北</PlateChar>
    <PlateChar pinyin="bian">边</PlateChar>
</a>
快速回复
限100 字节
 
上一个 下一个