Russian Qt Forum

Qt => XML => Тема начата: alexandros от Ноябрь 28, 2011, 14:10



Название: XML Stream Reader
Отправлено: alexandros от Ноябрь 28, 2011, 14:10
Форумчане)))будьте добры научите читать xml файлы
допустим дан файл как мне его прочитать и заполнить структуру содержащую пару элементов
name и path

Код
XML
<?xml version="1.0" encoding="UTF-8"?>
<root>
<workspace>
 <name>Alex</name>
 <path>Path</path>
</workspace>
<workspace>
 <name>Ivan</name>
 <path>Sololll</path>
</workspace>
<workspace>
 <name>Zoo</name>
 <path>Doo</path>
</workspace>
</root>
 

вот тут я набросал пример кода
Код
C#
 

Код:
bool WorkSpace::readListOfWorkSpaces(){
    QFile file(xmlWorkSpaceFile);
    if (!file.open(QIODevice::ReadOnly | QIODevice::Text)){
        return false;
    }
    QXmlStreamReader stream(&file);
   
    ListOfSpaces tempStruct;
    while(!stream.atEnd()){
        stream.readNext();
       /..../
    }
    if(stream.hasError()){
        std::cout<<stream.errorString().toStdString();
    }
    file.close();
   
    std::cout<<availableWorkSpaces.count()<<"\n";
   
    for(int i = 0 ; i < availableWorkSpaces.count(); i++){
        tempStruct = availableWorkSpaces.at(i);
        std::cout<<"Name: "<<tempStruct.name.toStdString()<<" ";
        std::cout<<"Path: "<<tempStruct.path.toStdString();
        std::cout<<std::endl;
    }
    return true;
}