QT XML阅读器每次读取相同的标签

Posted

技术标签:

【中文标题】QT XML阅读器每次读取相同的标签【英文标题】:QT XML reader reads the same tag everytime 【发布时间】:2015-12-29 12:27:05 【问题描述】:

我尝试读取一个 XML 文件,并且阅读器读得很好,直到它读取了一个特定的标签(Categories 的结束标签),然后它无限次读取这个标签。

这是xml文件:

     <?xml version="1.0" encoding="utf-8"?>
        <MovieMain MovieName="movie1" Version="1.29746.011215">
           <FrameGroups FirstFrame="START" LastFrame="END">
              <GroupFramesDescription>ALL MOVIE</GroupFramesDescription>
                 <frames Framenumber="1" >
                    <ObjectsGroup Name="1">
                       <LeftUpCorner X="30" Y="124" Z="0" />
                       <RightDownCorner X="53" Y="160" Z="0" />
                       <InfoAtt AttName="INDEX" AttInfo="1" />
                       <Categories>
                          <Category Name="computer" Probability="0.79"  />
                          <Category Name="pen" Probability="0.7"  />
                          <Category Name="desktop" Probability="0.1"  />
                          <Category Name="mug" Probability="0.09"  />
                       </categories>
                    </ObjectsGroup>        
                 </frames>
              </FrameGroups>
              </MarkingChanges>
                 <ChangesList UserName="ooo" Date="12/3/2015" ChangesetIndex="1" />
              </MarkingChanges>
          </MovieMain>

这是我调用来读取下一个元素的函数:

orXmlReader->readNextStartElement();

它每次都会给我下一个元素,直到 Categories 的结束标记,然后它会一次又一次地读取它(我尝试了 100 次循环......)。

希望你能尽快帮助我, 谢谢。

【问题讨论】:

【参考方案1】:

开始标签是&lt;Categories&gt;,结束标签是&lt;/categories&gt;,我相信搜索是区分大小写的。可以试试&lt;/Categories&gt; 作为结束标签吗?

【讨论】:

我没有进行搜索。但也许 readNextStartElement 函数会检查它是否是一个好的标签。

以上是关于QT XML阅读器每次读取相同的标签的主要内容,如果未能解决你的问题,请参考以下文章

将每次迭代生成的数据框保存在列表中

相关文章推荐阅读(标签)

NFC阅读器没有在android中连续读取NFC标签

使用 ACR1252U NFC 标签阅读器读取 NTag213 上的所有记录

从 Ionic NFC 插件读取标签提供的信息与我使用阅读器时不同

C# XmlReader 根据我调用阅读器方法的方式读取 XML 错误且不同