要素が反復可能で、多数の子要素を含むことができる巨大な Xml ファイルがあります。ハードコーディングせずにすべての要素とその子要素を読み取ることができる汎用コードが必要です。注: QDomDocument ではなく、QXmlStreamReader のみを使用できます。ありがとう !!
while (!reader.atEnd())
{
QString nodename;
if (reader.isStartElement())///check if the element has chlid tags
{
nodename = reader.name().toString();
qDebug() << "NodeName is : " << nodename;
nodevalue = reader.text().toString();
qDebug() << "NodeValue is : " << nodevalue;
p_rootParent->CreateChildElement(nodename,reader.text().toString());
}
else
{
while (reader.readNextStartElement())
{
nodename = reader.name().toString();
qDebug() << "NodeName is : " << nodename;
nodevalue = reader.text().toString();
qDebug() << "NodeValue is : " << nodevalue;
p_rootParent->CreateChildElement(nodename, reader.text().toString());
}
}
}
これは私がこれまでに書いたコードですが、機能していません。助けていただければ幸いです。