用qt读取xml文件,使用了QXmlStreamReader里面的ReadtElement()函数,但是好像发生了实体引用错误,有什么方法可以正常读完所有的element

读取一个xml文件的title元素,但是如下所示读到这一个的时候:Fully Persistent B<sup>+</sup>-treesreader的name()就会变成sup,并且无法再往下读article节点了,读到这里就会中断
QXmlStreamReader reader(&file)
 if(reader.name() =="title")
                   {
                       ui->textBrowser->append(QString("title:%1").arg(reader.readElementText()));
               ui->textBrowser->append(QString("").arg("***************************"));
                  }
这是xml文件的格式:

<article mdate="2017-06-08" key="tr/ibm/LILOG19" publtype="informal">
<author>Mohammed Nadjib Khenkhar</author>
<title>Vor&uuml;berlegungen zur depiktionalen Repr&auml;sentation r&auml;umlichen Wissens</title>
<journal>LILOG-Report</journal>
<volume>19</volume>
<year>1988</year>
<publisher>IBM Deutschland GmbH</publisher>
</article>
<article mdate="2017-06-08" key="tr/ibm/IWBS135" publtype="informal">
<author>Sitaram Lanka</author>
<author>Eric Mays</author>
**<title>Fully Persistent B<sup>+</sup>-trees</title>**
<journal>IWBS Report</journal>
<volume>135</volume>
<year>1990</year>
<publisher>IBM Germany Science Center, Institute for Knowledge Based Systems</publisher>
</article>
<article mdate="2017-06-08" key="tr/ibm/LILOG11" publtype="informal">
<author>Petra Maier</author>
<title>Der modale Infinitiv: Syntaktische oder lexikalische Beschreibung?</title>
<journal>LILOG-Report</journal>
<volume>11</volume>
<year>1987</year>
<publisher>IBM Deutschland GmbH</publisher>
</article>
问题好像处在readelementtext这个函数里,他把title又当成了一个新的element,还没遇到的时候reader.name()

就变成了sup,所以这是出错了吧,因为不能继续读取下一个title了,只能读到这一个sup这里。

怎么可以解决这个问题呢,xml文件不可更改