LINUX.ORG.RU

C++ QT4 не понятки с возвращаемым значением


0

0

Доброго времени суток уважаемые. Работаю с QtXml (Dom).

Имеется простенький xml документ

<?xml version="1.0" encoding="windows-1251"?>
<Response>
  <Error Code="1011">
    <ErrorLine Idx="1">ляляляля</ErrorLine>
  </Error>
<Response>

следующей функцией получаю элементы:

QDomElement getNode ( const QDomNode node, QString nodeName )
{
	QDomElement resultElement;
	resultElement.clear();
	QDomNode domNode = node.firstChild();
	while ( !domNode.isNull() )
	{
		if ( domNode.isElement() )
		{
			QDomElement domElement = domNode.toElement();
			if ( !domElement.isNull() )
			{
				if ( domElement.tagName() == nodeName )
				{
					resultElement = domNode.toElement();
					r = resultElement;
					return resultElement;
				};
			}
		}
		getNode ( domNode, nodeName ) ;
		domNode = domNode.nextSibling();
	}	
}

r - глобальная переменная типа QDomElement, сделано исключительно для тестов.

Так вот проблема в следующем, когда я запрашиваю getNode (rootElement, «Error») - всё отрабатывает нормально и я получаю и глобальную переменную и возвращаемое значение. а вот если дёрнуть getNode(rootElement, «ErrorLine») то в глобальной переменной я получаю ожидаемый результат, а в возвращаемом значении NULL :(

Подскажите где искать загвоздку? не хочется пользоваться глобальными переменными.

> getNode ( domNode, nodeName ) ;

Почему результат не обработан (это имеет отношение к проблеме).

Почему нет возврата значения когда запрошенный элемент в дереве отсутствует?

Begemoth ★★★★★
()
Ответ на: комментарий от zed-chaos

> всем спасибо :) уже разобрался

напиши в чем была проблема, а то нагуглит кот-нибудть её тут и будет грустный ругаться на тебя =)

teferiincub
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.