如何在开始时设置 QXmlStreamReader?
Posted
技术标签:
【中文标题】如何在开始时设置 QXmlStreamReader?【英文标题】:How to set QXmlStreamReader atStart? 【发布时间】:2016-11-21 11:35:10 【问题描述】:指针到达末尾后如何在开头设置 QXmlStreamReader。
QXmlStreamReader xml(&data);
int i=0;
while(!xml.atEnd())
if (xml.isStartElement())
if (xml.name() == "sample")
i++;
xml.readNext();
//这里我想在开始时重新设置xml。
【问题讨论】:
【参考方案1】:尝试重置输入源
data.seek(0); // to make QFile object pointing to begining
xml.setDevice(xml.device());
Documentation for setDevice() 说: 将当前设备设置为设备。设置设备会将流重置为其初始状态。
【讨论】:
显示错误:“setDevice”未在此范围内声明,为什么? @t.m. 我没有测试它,我现在无法测试。有机会我会更新我的答案 什么? @t.m. 你不应该只说setDevice,它是QXmlReader的一个功能。你应该说 xml.setDevice(xml.device()); 仍然没有测试以上是关于如何在开始时设置 QXmlStreamReader?的主要内容,如果未能解决你的问题,请参考以下文章
为啥我不能使用 Qt 中的 QXmlStreamReader 解析 XML 文件?
QXmlStreamReader/QXmlStreamWriter实现Qt下xml文件读写