LINUX.ORG.RU

Вываливается sigsegv Qmap

 , , ,


0

1

Читаю xml файл и при считывании первого тега - я его в Qmap пытаюсь записать вылетает sigsegv.

#ifndef IXMLREADER_H
#define IXMLREADER_H
#include <QFile>
#include <QDebug>
#include <QtXml>
#include <QMap>
class iXMLReader
{
    QMap<QString,QString> xml;
public:
    iXMLReader();
    void traverseNode(const QDomNode node);
    bool Validate();
};

#endif // IXMLREADER_H
//...
#include "ixmlreader.h"

iXMLReader::iXMLReader()
{

}
void iXMLReader::traverseNode(const QDomNode node)
{
    QDomNode  domNode  = node.firstChild();
    while(!domNode.isNull())
    {
        if(domNode.isElement())
        {
            QDomElement  domElement  = domNode.toElement();
            if(!domElement.isNull())
            {
                if(domElement.tagName()=="OP")
                {
                    //qDebug()<<  "Attr: "<<domElement.attribute("numЬer","");
                }
                else
                {
                    xml.insert(domElement.tagName(),domElement.text());//тут ошибка
                    qDebug()<<"TagName:"<<domElement.tagName()<<"\tText:"<< domElement.text();
                    //xml[domElement.tagName()] = domElement.text();
                    qDebug()<<"TagName:"<<domElement.tagName()<<"\tText:"<<xml[domElement.tagName()];
                }
            }
        }
        traverseNode(domNode);
        domNode = domNode.nextSibling();
    }
}
bool iXMLReader::Validate()
{
    return true;
}
//...
QDomDocument  domDoc;
    QFile  file ("1.xml") ;
    if(file.open(QIODevice::ReadOnly))  {
        if(domDoc.setContent(&file)){
            QDomElement domElement=domDoc.documentElement();
            i->traverseNode(domElement);
        }
        file.close();
    }



Последнее исправление: doomer (всего исправлений: 1)