问题描述
我有以下问题: 我在 QString 中保存了一个 XMLStart。
QString f = "<class=\"go\">\n"
"<number>2</number>\n"
"<column>3</column>\n"
"<row>4</row>";
例如,我想通过使用替换或类似方法来更改此字符串中具有 7 的行的值。
f.replace();
我怎样才能做到这一点?这可能吗?
问候
解决方法
我不熟悉 Qt 中的 XML,我相信有一种更优雅的方式,希望有人会在我之后发帖,但这是一种简单的替换方式。
当然,您必须以更好的方式提供字符串值...
QString xml = "<class=\"go\">\n"
"<number>2</number>\n"
"<column>3</column>\n"
"<row>4</row>";
QString tag = "row";
QString val = "7";
QByteArray exp("<%1>%2</%1>");
QString rex = QString(exp).arg(tag,".*");
QString rep = QString(exp).arg(tag,val);
xml.replace(QRegExp(rex),rep);