现在的位置: 首页 > 综合 > 正文

QXmlStreamReader 解析xml

2013年12月10日 ⁄ 综合 ⁄ 共 1567字 ⁄ 字号 评论关闭

 作为记录,代码如下:

QXmlStreamReader xml(html);
    while (!xml.atEnd())
    {
        xml.readNext(); //这个是关键函数,挨个读取节点

        if (xml.isStartElement())
        {
            if (xml.name() == "ul")
            {
                while (!xml.atEnd())
                {
                    xml.readNext();
                    if (xml.isStartElement())
                    {
                        if (xml.name() == "li")
                        {
                            while (!xml.atEnd())
                            {
                                xml.readNext();
                                if (xml.isStartElement())
                                {
                                    if (xml.name() == "p")
                                    {
                                        qDebug()<< "<p> is :" << xml.readElementText();
                                    }
                                }
                                if (xml.isEndElement())
                                {
                                    if (xml.name() == "li")
                                    {
                                        qDebug()<<"end read li info";
                                        break;
                                    }
                                }
                            }
                        }
                    }
                    if (xml.isEndElement())
                    {
                        if (xml.name() == "ul")
                        {
                            qDebug()<<"end read ul info";
                            break;
                        }
                    }
                }
            }
        }
    }

抱歉!评论已关闭.