在客户端已经写好了xml格式的文档
QDomDocument doc;
QDomElement root = doc.createElement("root");
QDomElement element = doc.createElement("element");
root.appendChild(element);
QDomElement ip = doc.createElement("ip");
element.appendChild(ip);
QDomText ipText = doc.createTextNode(address.toString());
ip.appendChild(ipText);
QDomElement name = doc.createElement("name");
element.appendChild(name);
QDomText nameText = doc.createTextNode(nameEdit->text());
name.appendChild(nameText);
QDomElement password = doc.createElement("password");
element.appendChild(password);
QDomText passwordText = doc.createTextNode(passwordEdit->text());
password.appendChild(passwordText);
QDomElement Email = doc.createElement("Email");
element.appendChild(Email);
QDomText EmailText = doc.createTextNode(EmailEdit->text());
Email.appendChild(EmailText);
QString str;
str.append(root.text());
clientSocket->writeDatagram(qPrintable(str),1024,QHostAddress(tr("ip address")),port); //向服务器发送
在服务器端接收到了内容,例如客户端发送的内容是IP:192.168.1.1姓名:disk密码:123邮箱:@163.com
服务器接收到得内容是192.168.1.1disk@163.com,那么怎么解析它呢~~?
------解决方案--------------------
最笨的方法是不同的项之间加分隔符,分隔符可以用特殊的或者在你的程序上下文中不会用到的字符,什么|\n啊之类的
------解决方案--------------------
QDomNode + QDomElement进行解析。
------解决方案--------------------
把 str.append(root.text()) 改成 str = doc.toString();