找回密码
 立即注册
收起左侧

解析xml格式字符串的例子

1
回复
9593
查看
[复制链接]

尚未签到

来源: 2014-1-8 18:44:17 显示全部楼层 |阅读模式
5Qter豆
本帖最后由 xuyue0401 于 2014-1-8 18:46 编辑

如题,程序运行后,还是解析不了xml格式的字符串,发送<to>test</to>显示还是<to>test</to>,下面贴代码,还请高人指点...
#include "mainwindow.h"#include "ui_mainwindow.h"
#include<QMessageBox>

MainWindow::MainWindow(QWidget *parent) :    QMainWindow(parent),    ui(new Ui::MainWindow){    ui->setupUi(this);}
MainWindow::~MainWindow(){    delete ui;}
void MainWindow::on_pushButton_clicked(){    tcpsocket=new QTcpSocket(this);    tcpsocket->connectToHost(ui->lineEdit->text(),ui->lineEdit_2->text().toInt(),QIODevice::ReadWrite);    connect(tcpsocket,SIGNAL(readyRead()),this,SLOT(readdata()));
}void MainWindow::readdata(){   ui->textEdit->setText((QString)tcpsocket->readAll());
   displayxml();}
void MainWindow::on_pushButton_2_clicked(){     //QString msg;    if(ui->textEdit_2->document()->toPlainText().toLatin1()=="")    {        return;    }    QString msg =sensorName+":"+ui->textEdit_2->document()->toPlainText();    tcpsocket->write(msg.toLatin1());}void MainWindow::displayxml(){   // ui->textEdit->clear();    QByteArray revmsg=tcpsocket->readAll();    QDomDocument doc;    if(!doc.setContent(revmsg));    {       return ;    }    QDomElement docElem = doc.documentElement();    QDomNode n = docElem.firstChild();    while(!n.isNull())    {       if(n.isElement())       {           QDomElement e = n.toElement();           qDebug()<<qPrintable(e.tagName())<<qPrintable(e.attribute("id"));           QDomNodeList list = e.childNodes();           for(int i=0;i<list.count();i++)           {               QDomNode node = list.at(i);               if(node.isElement())               qDebug()<<""<<qPrintable(node.toElement().tagName())<<qPrintable(node.toElement().text());           }       }       n = n.nextSibling();    }

}

最佳答案

查看完整内容

好像xml格式比较严格,开头好像要有什么 之类的,你可以上网找个标准的xml文件来看看
回复

使用道具 举报

尚未签到

2014-1-8 18:44:18 显示全部楼层
好像xml格式比较严格,开头好像要有什么 <xml> 之类的,你可以上网找个标准的xml文件来看看
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

公告
可以关注我们的微信公众号yafeilinux_friends获取最新动态,或者加入QQ会员群进行交流:190741849、186601429(已满) 我知道了