cimforreduceloss/testHasttable/breaker.cpp

47 lines
1.7 KiB
C++

#include "breaker.h"
#include <iostream>
Breaker::Breaker(QObject *parent):BasicElementInfo(parent),isTerminalA(true)
{
}
bool Breaker::derivedParse(QXmlStreamReader &reader)
{
if(this->isTerminalA && "ConductingEquipment.Terminals"==reader.name() && reader.attributes().hasAttribute("rdf:resource"))
{
QString terminal;
terminal=reader.attributes().value("rdf:resource").toString();
this->terminalA=terminal.replace("#","").leftRef(-1).toString();//返回整个字符串的Ref
qDebug()<<"got "<<"ConductingEquipment.Terminals "<<this->terminalA<<"\n";
this->isTerminalA=false;
}
if(!this->isTerminalA && "ConductingEquipment.Terminals"==reader.name() && reader.attributes().hasAttribute("rdf:resource"))
{
QString terminal;
terminal=reader.attributes().value("rdf:resource").toString();
this->terminalB=terminal.replace("#","").leftRef(-1).toString();//返回整个字符串的Ref
qDebug()<<"got "<<"ConductingEquipment.Terminals "<<this->terminalB<<"\n";
}
if("Equipment.MemberOf_EquipmentContainer"==reader.name() && reader.attributes().hasAttribute("rdf:resource"))
{
QString ss;
ss=reader.attributes().value("rdf:resource").toString();
this->equipmentContainer=ss.replace("#","").leftRef(-1).toString();//返回整个字符串的Ref
qDebug()<<"got "<<"Equipment.MemberOf_EquipmentContainer "<<this->equipmentContainer<<"\n";
}
return true;
}
QString Breaker::getTerminalA()
{
return this->terminalA;
}
QString Breaker::getTerminalB()
{
return this->terminalB;
}
bool Breaker::parse(QXmlStreamReader &reader)
{
return this->parseBasicInfo(reader);
}