Solved how to read the text of pushbutton in XML Qt
-
So what's your problem now? Did you try @jsulm's suggestion? Do you get another error?
-
@aha_1980 yes same error i got it repeatdly .@jsulm gave the document to read ,now i am doing that.
QDomDocument document; QDomElement root = document.createElement("pushbuttn_text"); QString text1 = ui->pushbutton1->text(); QDomElement elemTab1 = document.createElement("ss"); elemTab1.setAttribute(text1);
//elemTab.appendChild( document.createTextNode( text))
root.appendChild(elemTab1);
and this is my code
-
setAttribute
should take 2 argument? -
@Ratzz nop only one it want to take
-
@Ratzz nop only one it want to take
-
@sankarapandiyan
You want to take one attribute ??
Did you see document ? http://doc.qt.io/archives/qt-4.8/qdomelement.html#setAttribute
What is the error now? -
@sankarapandiyan said in how to read the text of pushbutton in XML Qt:
nop only one it want to take
This is wrong.
setAttribute takes two arguments as you can see in documentation.
A XML attribute has a name and a value, that's why setAttribute has two parameters. -
@jsulm oh sry for my wrong answer
is it possible to do without attribute !coz i want to read one paramtr only -
yes but using
QDomText
But it creates the text node. -
@Ratzz by directly reading ??
-
@sankarapandiyan I don't understand you: setAttribute sets an attribute, it does not read anything. So, what do you want to do?
If your attribute does not have a value you can pass empty string as value:elemTab1.setAttribute(text1, "");
-
@jsulm said in how to read the text of pushbutton in XML Qt:
If your attribute does not have a value you can pass empty string as value:
sure....i will try Thanks a lot
-
@Ratzz thanks a lot
-
May be this way
QString text1 = ui->pushbutton1->text(); QDomText t = doc.createTextNode(text1); tag.appendChild(t);
-
@Ratzz i think it will work i will try thanks a lot
-
May be this
void MainWindow::on_okbutn_clicked() { QDomDocument document; QDomElement root = document.createElement("pushbuttn_text"); document.appendChild(root); QDomElement elemTab1 = document.createElement("ss"); root.appendChild(elemTab1 ); QString text1 = ui->pushbutton1->text(); QDomText t = document.createTextNode(text1); elemTab1 .appendChild(t); QFile file("C:\\Users\\name\\Desktop\\test.xml"); if(!file.open(QIODevice::WriteOnly | QIODevice::Text)) { qDebug() << "Open the file for writing failed"; } else { QTextStream stream(&file); stream << document.toString(); file.close(); qDebug() << "Writing is done"; } }
-
@Ratzz yes it works but its repeat for three times i dont know why ! :-(
but anyway thanks all for helping me -
For people passing by, using the entire xml module for operations like these is like using a bazooka to kill a fly.
QXmlStreamWriter
is more than enough and it's also probably easier to use -
@VRonin yeah! i know i will try surely
-
@sankarapandiyan said in how to read the text of pushbutton in XML Qt:
but its repeat for three times i dont know why ! :-(
Can I see your code??