Привет, у меня есть другой вопрос. Программе необходимо прочитать xml-файл, поместить блок и тестовые разделы в виджет qtree с иерархией деревьев. Пока я могу написать нужные разделы в qtreewidget и написать шаги тестирования при нажатии на элемент. Но так как я не знаю, как сделать поиск в tinyxml, мой код всегда записывает элементы первого шага.Как найти узел в tinyxml? [Qt, C++]
Вот пример моего xml-файла;
<?xml version="1.0"?>
<TestLab>
<Units>
<Unit name="UTB_C" >
<communicationinterfaces>
<Interface type="UDP" ip="192.168.1.51" port="7000"/>
</communicationinterfaces>
<Tests>
<Test no="1" name="GPIO_3">
<Step no="1" name="step1" >
</Step>
<Step no="2"name="step2">
</Step>
</Test>
</Tests>
</Unit>
<Units>
<Unit name="UTB_C" >
<communicationinterfaces>
<Interface type="UDP" ip="192.168.1.51" port="7000"/>
</communicationinterfaces>
<Tests>
<Test no="1" name="GPIO_3">
<Step no="1" name="step1" >
</Step>
<Step no="2"name="step2">
</Step>
</Test>
</Tests>
</Unit>
</Units>
</TestLab>
И этот код, который я использую, чтобы показать шаги;
while(step)
{
QString strStep;
strStep = step->Attribute("name");
QLabel *label1 = new QLabel("step");
label1->setText(strStep);
label1->setParent(centralWidget());
label1->move(380,y);
label1->show();
step = step->NextSiblingElement("Step");
y = y+15;
}
Это ui программы до сих пор.
Я хочу написать шаг теста, который пользователь щелкает и я не хочу, чтобы мой код, чтобы писать шаги, когда пользователь случайно нажмите на родительский элемент (единица), но до сих пор моя программа пишет первые шаги, когда пользователь нажимает на любой из элементов. Кто-нибудь знает, как искать конкретный тест и его шаг?
Спасибо за ответ, что это здорово и выглядит действительно аккуратный, но это в любом случае сделать это с помощью tinyxml? Я не использую QtXml, и проект требует использования tinyxml. – Ashtaroth
Существует функция, которая почти такая же, как у одного Неята, указывающего на: 'TiXmlHandle :: FirstChildElement (const char * value) const' (Возвращает дескриптор первого дочернего элемента с заданным именем.). См. Http://www.grinninglizard.com/tinyxmldocs/index.html для получения дополнительной информации;) – Martin