Читаю 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();
}