Как мне использовать foreach с QDomNodeList в Qt?

Я новичок в Qt и каждый день узнаю что-то новое.
В настоящее время я разрабатываю небольшое приложение для своего Nokia N900 в свободное время.
Все отлично, я могу скомпилировать и запустить приложения Maemo на устройстве.

Я только что узнал оforeach Ключевое слово в Qt. (Я знаю, что это не в C ++, поэтому я не думал об этом, пока случайно не наткнулся на документ Qt, который упомянул об этом.)
Итак, я решил изменить свои довольно раздражающие и нечитаемые циклы на foreach, но мне это не удалось:

QDomNodeList list = doc.lastChild().childNodes().at(1).firstChild().childNodes();
for (int x = 0; x < list.count(); x++)
{
    QDomElement node = list.at(x).toElement();
    // Do something with node
}

Вот как я пытался:

foreach (QDomElement node, doc.lastChild().childNodes().at(1).firstChild().childNodes())
{
    // Do something with node
}

По какой-то причине приведенный выше код даже не компилируется. Я получаю загадочные сообщения об ошибках от компилятора.

Может кто-нибудь объяснить мне, как это сделать правильно?

Еслиforeach цикл не поддерживаетQDomNodeListЕсть ли способ обработки файлов XML, который поддерживаетforeach?

РЕДАКТИРОВАТЬ:

Чтобы уточнить,// Do something with node в этом случае следующее:

EveCharacter chr;
chr.setName(node.attribute(EVE_NAME));
chr.setId(node.attribute(EVE_CHARACTER_ID).toInt());
acc->addCharacter(chr);

Где акк имеет типEveAccount, который хранит данные вQList<EveCharacter>.

Символы в верхнем регистре являются константами времени компиляции.
(Я создаю клиент для EVE Online API. Это из метода, который получаетсимволы учетной записи XML и интерпретирует это.)

Это как я создаюdoc:

QDomDocument doc;
doc.setContent(reply->readAll());

Обратите внимание, чтоreply этоQNetworkReply* который отправляется обратно изQNetworkAccessManager.

Тем не менее, так как EVE API работает с XML, я выполняю много синтаксического анализа XML, очень похожего на это, во многих местах моего приложения.
Большинство XML-файлов могут быть длиной в несколько сотен строк и могут содержать довольно нестандартные шаблоны данных,такой как этот.

Ответы на вопрос(2)

Ваш ответ на вопрос