Jan
Królikowski
QA Auditor & Team
Leader
Temat: Wyciąganie tekstu childnode'a z QXmlItem
zasadniczo sprawa wygląda następująco:za pomocą QXmlQuery i QXmlItem z pliku structure.xml staram się wyodrębnić element x, a następnie z niego element nam.
Fragment pliku structure.xml:
<!DOCTYPE structure>
<data>
<x>
<id>1</id>
<nam>tytuł</nam>
<tab>21</tab>
<ind>5</ind>
<pre>TY</pre>
<khw>C.TY</khw>
</x>
<x>
<id>2</id>
<nam>autor</nam>
<tab>21</tab>
<ind>5</ind>
<pre>FO</pre>
<khw>C.FO</khw>
</x>
<x>
<id>3</id>
<nam>hasło korporatywne</nam>
<tab>21</tab>
<ind>5</ind>
<pre>FN</pre>
<khw>C.FN</khw>
</x>
</data>
i kod programu:
QXmlResultItems results;
QFile structure("./structure.xml");
structure.open(QFile::ReadOnly);
QXmlQuery query;
query.setFocus(&structure);
query.setQuery("data/x");
query.evaluateTo(&results);
QXmlItem next = results.next();
while(!next.isNull()) {
QXmlQuery childQuery;
QString r;
childQuery.setFocus(next);
childQuery.setQuery("./nam/text()");
childQuery.evaluateTo(&r);
qDebug() << r; // zwraca pusty napis, a powinien zawierać zawartość elementu <nam>
next = results.next();
}
gdzie robię błąd? Wersja Qt: 4.7.2