我有一个巨大的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());
}
}
}
这是我到目前为止编写的代码,但它不起作用,任何帮助都将不胜感激。