Realization of the AbstractConfigurationFileParser class for the tinyXML library. More...
#include <OBTXMLConfigurationFileParser.h>
Public Member Functions | |
XMLConfigurationFileParser (const char *name, ConfigurationItem &configurationItem=touchRoot()) | |
constructor | |
virtual | ~XMLConfigurationFileParser () |
destructor | |
Private Member Functions | |
void | AddChildren (ConfigurationItem &root, TiXmlElement *element) |
add the children of a TiXmlElement to a ConfigurationItem |
Realization of the AbstractConfigurationFileParser class for the tinyXML library.
Definition at line 17 of file OBTXMLConfigurationFileParser.h.
XMLConfigurationFileParser::XMLConfigurationFileParser | ( | const char * | name, | |
ConfigurationItem & | configurationItem = touchRoot() | |||
) |
constructor
Definition at line 10 of file OBTXMLConfigurationFileParser.cpp.
References AddChildren(), OBT::TiXmlDocument::LoadFile(), and OBT::TiXmlDocument::RootElement().
00011 : 00012 AbstractConfigurationFileParser( name, configurationItem ) 00013 { 00014 TiXmlDocument document ; 00015 if ( document.LoadFile( name ) ) 00016 { 00017 AddChildren( configurationItem, document.RootElement() ) ; 00018 } 00019 }
XMLConfigurationFileParser::~XMLConfigurationFileParser | ( | ) | [virtual] |
void XMLConfigurationFileParser::AddChildren | ( | ConfigurationItem & | root, | |
TiXmlElement * | element | |||
) | [private] |
add the children of a TiXmlElement to a ConfigurationItem
Definition at line 32 of file OBTXMLConfigurationFileParser.cpp.
References OBT::ConfigurationItem::addChild(), OBT::TiXmlBase::Column(), OBT::TiXmlElement::FirstAttribute(), OBT::TiXmlNode::FirstChildElement(), OBT::TiXmlElement::GetText(), OBT::TiXmlNode::NextSiblingElement(), OBT::TiXmlBase::Row(), and OBT::TiXmlNode::Value().
Referenced by XMLConfigurationFileParser().
00033 { 00034 while ( element != NULL ) 00035 { 00036 ConfigurationItem item( element->Value() ) ; 00037 item.setLine( element->Row() ) ; 00038 item.setColumn( element->Column() ) ; 00039 item.setText( element->GetText() ) ; 00040 00041 TiXmlAttribute* attribute( element->FirstAttribute() ) ; 00042 while ( attribute != NULL ) 00043 { 00044 item.addArgument( attribute->Name(), attribute->Value() ) ; 00045 attribute = attribute->Next() ; 00046 } 00047 00048 AddChildren( item, element->FirstChildElement() ) ; 00049 root.addChild( item ) ; 00050 element = element->NextSiblingElement() ; 00051 } 00052 }