我有一个巨大的 Xml 文件,它的元素可以是重复的,并且可以包含许多子元素。我需要一个通用代码,它可以读取所有元素及其子元素而无需硬编码。注意:只能使用 QXmlStreamReader ,不能使用 QDomDocument。谢谢 !!
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());
}
}
}
这是我到目前为止编写的代码,但它不起作用,任何帮助将不胜感激。