???Qt for Android解析AndroidManifest.xml

???Qt for Android解析AndroidManifest.xml

我本来想的是,解析AndroidManifest.xml里面的version name,然后显示在软件版本号的地方。每次修改版本号就可以直接改xml文件就行,不用在软件版本号的地方再手动改。初衷是这样。但是我根据网上解析xml的方法去弄,文件都没有打开……文件路径不对吗?还是……
在这里插入图片描述

代码如下:

void readDocumentElement()
{
    QFile file("./android/AndroidManifest.xml");
    if (file.open(QFile::ReadOnly | QFile::Text))
    {  // 以只写模式打开文件
        qDebug()<<QString::fromLocal8Bit("********** 文件打开成功 ********** ");
        QXmlStreamReader reader(&file);

        // 解析 XML,直到结束
        while (!reader.atEnd())
        {
            // 读取下一个元素
            QXmlStreamReader::TokenType nType = reader.readNext();

            switch (nType)
            {
            case QXmlStreamReader::StartDocument: {  // 开始文档
                qDebug() << QString::fromLocal8Bit("********** 开始文档(XML 声明) ********** ");
                // XML 声明
                QString strVersion = reader.documentVersion().toString();
                QString strEncoding = reader.documentEncoding().toString();
                bool bAlone = reader.isStandaloneDocument();
                qDebug() << QString::fromLocal8Bit("版本:%1  编码:%2  Standalone:%3")
                            .arg(strVersion).arg(strEncoding).arg(bAlone) << "\r\n";
                break;
            }
            case QXmlStreamReader::Comment: {  // 注释
                break;
            }
            case QXmlStreamReader::ProcessingInstruction: {  // 处理指令
                break;
            }
            case QXmlStreamReader::DTD: {   // DTD
                break;
            }
            case QXmlStreamReader::StartElement: {  // 开始元素
                break;
            }
            case QXmlStreamReader::EndDocument: {  // 结束文档
                break;
            }
            default:
                break;
            }
        }

        if (reader.hasError()) {  // 解析出错
            //  qDebug() << QString::fromLocal8Bit("错误信息:%1  行号:%2  列号:%3  字符位移:%4").arg(reader.errorString()).arg(reader.lineNumber()).arg(reader.columnNumber()).arg(reader.characterOffset());
        }

        file.close();  // 关闭文件
    }
    else{
        qDebug()<< QString::fromLocal8Bit("文件打开失败");
    }
}
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值