2010-07-15 14 views
5

Sto sviluppando un'applicazione in quanto dopo aver creato un servizio Web ho ricevuto la risposta dal server che si trova nel tag XML.Come analizzare una stringa XML in Qt

La risposta:

<?xml version=\"1.0\" encoding=\"utf-8\"?>\r\n 
<string...... /\">Hello World</string> 

voglio leggere solo la stringa "Ciao Mondo". Come devo analizzarlo?

risposta

18

Spero che questo aiuta:

QByteArray xmlText; 
//Get your xml into xmlText(you can use QString instead og QByteArray) 
QDomDocument doc; 
doc.setContent(xmlText); 
QDomNodeList list=doc.elementsByName("string"); 
QString helloWorld=list.at(0).toElement().text(); 
1

provare questo ...!

0

Ho scritto un semplice wrapper su alcune classi QDom * che rendono più semplice il lavoro con XML in Qt.

Ad esempio:

myxmlmap->$("tagnameq1")->$("tagname2.")->$("@attrname=attrvalue*").c.length() 

O anche in questo modo:

myxmlmap->$("tagname1>tagname2.>@attrname=attrvalue*").c.at(2).e.text() 

"*" - tutti i bambini in albero dal nodo corrente. "." - solo i bambini di 1a generazione. Elemento e - node. c - elenco dei nodi figli. tutti i bambini trovati sono anche memorizzati nell'attributo "c".

Problemi correlati