• 3306阅读
  • 2回复

[提问]问下QXmlStreamReader读取XML的问题 [复制链接]

上一主题 下一主题
离线newedition
 
只看楼主 倒序阅读 楼主  发表于: 2012-08-06
关键词: QT4求助问题
我想读取每一行的节点数据
<?xml version="1.0" encoding="utf-8"?>
<bg src="Template/1/img/111.png" x="800" y="600">
     <parent  size="50" bold="true" family="宋体" color="#00FA9A" x="100" y="60">{ParentTitle}</text>
     <nodes x="50" y="60" rows="1" cols="4">
          <img src="Template/1/img/9.png" margin="10,10,100,100"></img>
          <text size="30" bold="true" family="Courier" color="#FF00FF" margin="20,30,100,500" >{Title}</text>
     </nodes>
     <img name="PageUp" src="Template/1/img/9.png" x="50" y="50"></img>
     <img name="PageDown" src="Template/1/img/9.png" x="50" y="50"></img>
</bg>



QXmlStreamReader reader(_template);

while(!reader.atEnd())
{
  reader.readNext();
  if(reader.isStartElement())
  {
   if(reader.name()=="bg")
   {          
    while(!reader.atEnd())
    {
     reader.readNext();
     if(reader.isStartElement())
     {      
      QString adsfdasfadsf=reader.name().toString();    
      if(reader.name()=="parent")
      {      
      }
     }                
      if(reader.isStartElement())
      {            
       if(reader.name()=="nodes")
       {        
        while(!reader.atEnd())
        {
         reader.readNext();
         if(reader.isStartElement())
         {          
          if(reader.name()=="img")
          {
           QString imgSrc=reader.attributes().value("src").toString();                      
          }
         }
         if(reader.isEndElement())
         {
          if(reader.name()=="text")
          {
            QString textSize=reader.attributes().value("size").toString();
            QString textBold=reader.attributes().value("bold").toString();                  
            }
            
          }
         }
        }
     现在的问题是  读到<parent>这一行后,就不读后面的数据了,求高手解答下
离线newedition
只看该作者 1楼 发表于: 2012-08-06
就是说 当读取完这个节点后
if(reader.isStartElement())
     {      
      QString adsfdasfadsf=reader.name().toString();    
      if(reader.name()=="parent")
      {      
      }
     }        

if(reader.isStartElement())
      {            
       if(reader.name()=="nodes")
       {    
读到这的时候就退出了
离线newedition
只看该作者 2楼 发表于: 2012-08-07
快速回复
限100 字节
 
上一个 下一个