本文整理汇总了C++中Xml::getFirstChild方法的典型用法代码示例。如果您正苦于以下问题:C++ Xml::getFirstChild方法的具体用法?C++ Xml::getFirstChild怎么用?C++ Xml::getFirstChild使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Xml
的用法示例。
在下文中一共展示了Xml::getFirstChild方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: createFromXml
void MindMap::createFromXml( Xml xml )
{
// child elements are MindAreaInfo
for( Xml xmlChild = xml.getFirstChild( "MindArea" ); xmlChild.exists(); xmlChild = xmlChild.getNextChild( "MindArea" ) ) {
// construct MindArea from attributes
MindAreaInfo *info = new MindAreaInfo;
mindAreas.add( info );
info -> createFromXml( xmlChild );
// get areaId
String id = info -> getAreaId();
ASSERTMSG( !id.isEmpty() , "area is not defined: " + xmlChild.serialize() );
ASSERTMSG( mindAreaMap.get( id ) == NULL , id + ": area duplicate found for id=" + id );
// add
mindAreaMap.add( id , info );
}
// child elements are MindAreaInfo
Xml xmlLinks = xml.getFirstChild( "MindLinks" );
Xml xmlChild;
if( xmlLinks.exists() )
xmlChild = xmlLinks.getFirstChild( "MindLink" );
for( ; xmlChild.exists(); xmlChild = xmlChild.getNextChild( "MindLink" ) ) {
// construct MindArea from attributes
MindLinkInfo *info = new MindLinkInfo;
info -> createFromXml( xmlChild );
mindLinks.add( info );
}
}
示例2: load
void XmlSpinalCordLayout::load( Xml xmlDiv ) {
Xml layout = xmlDiv.getFirstChild( "layout" );
ASSERTMSG( layout.exists() , "layout is not found" );
imgSrc = layout.getAttribute( "imgsrc" , "" );
for( Xml xmlChild = layout.getFirstChild( "level" ); xmlChild.exists(); xmlChild = xmlChild.getNextChild( "level" ) ) {
String id = xmlChild.getAttribute( "id" );
MapStringToClass<StringList>& levelData = data.getRef( id );
loadLevel( xmlChild , levelData );
}
}
示例3: createFromXml
void MindAreaInfo::createFromXml( Xml xml )
{
// attributes are properties
areaId = xml.getAttribute( "id" );
int x , y , z;
x = xml.getIntProperty( "posX" );
y = xml.getIntProperty( "posY" );
z = xml.getIntProperty( "posZ" );
location.setPosition( x , y , z );
int dx , dy , dz;
dx = xml.getIntProperty( "sizeX" );
dy = xml.getIntProperty( "sizeY" );
dz = xml.getIntProperty( "sizeZ" );
location.setDimensions( dx , dy , dz );
size = location.getSize();
// child elements are MindLink
for( Xml xmlChild = xml.getFirstChild( "MindLink" ); xmlChild.exists(); xmlChild = xmlChild.getNextChild( "MindLink" ) ) {
// construct MindArea from attributes
MindLinkInfo *info = new MindLinkInfo;
info -> createFromXml( xmlChild );
// add
links.add( info );
}
}
示例4: load
void XmlBrainTractPath::load( Xml xml ) {
id = xml.getAttribute( "id" );
type = xml.getAttribute( "type" );
function = xml.getAttribute( "function" );
pathway = xml.getAttribute( "pathway" );
String src = xml.getAttribute( "src" );
String dst = xml.getAttribute( "dst" );
String mids = xml.getAttribute( "mids" , "" );
items.add( src );
StringList midlist;
mids.split( midlist , "," );
items.add( &midlist );
items.add( dst );
tract.addPath( this );
String fibersvalue = xml.getAttribute( "fibers" );
fibersvalue.split( fibers , "," );
String value = xml.getAttribute( "endings" );
value.split( endings , "," );
for( Xml xmlChild = xml.getFirstChild( "path" ); xmlChild.exists(); xmlChild = xmlChild.getNextChild( "path" ) ) {
XmlBrainTractPath *path = new XmlBrainTractPath( tract , this );
path -> load( xmlChild );
childs.add( path -> id , path );
}
}
示例5: createTargetMeta_defineCircuit
void MindMap::createTargetMeta_defineCircuit( Xml xml , TargetAreaDef *areaDef , bool sensors ) {
if( sensors )
areaDef -> defineSensorArea();
else
areaDef -> defineEffectorArea();
mindAreaMap.add( areaDef -> getAreaId() , areaDef );
// create sensor meta
String itemsElement = ( sensors )? "sensors" : "effectors";
String itemElement = ( sensors )? "sensor" : "effector";
Xml config = xml.getChildNode( itemsElement );
for( Xml xmlChild = config.getFirstChild( itemElement ); xmlChild.exists(); xmlChild = xmlChild.getNextChild( itemElement ) ) {
TargetRegionDef *regionInfo = new TargetRegionDef( areaDef );
if( sensors )
regionInfo -> defineSensorRegion( xmlChild );
else
regionInfo -> defineEffectorRegion( xmlChild );
// add to maps
areaDef -> addRegion( regionInfo );
mindRegionMap.add( regionInfo -> getId() , regionInfo );
TargetRegionTypeDef *regionTypeInfo = ( TargetRegionTypeDef * )regionInfo -> getType();
regionTypeMap.add( regionTypeInfo -> getName() , regionTypeInfo );
TargetCircuitDef *circuitInfo = regionTypeInfo -> getCircuitInfo();
mindCircuitMap.add( circuitInfo -> getName() , circuitInfo );
regionInfo -> setCircuitDef( circuitInfo );
}
}
示例6: createFromXml
void MindMap::createFromXml( Xml xml ) {
// load mind definition
createRegionTypeDefSet( xml.getFirstChild( "region-type-set" ) );
createAreaDefSet( xml.getFirstChild( "component-set" ) );
createConnectionTypeDefSet( xml.getFirstChild( "connection-type-set" ) );
createCircuitDefSet( xml.getFirstChild( "circuit-set" ) );
// resolve definition references
for( int k = 0; k < regionTypeSet.count(); k++ )
regionTypeSet.get( k ) -> resolveReferences( this );
for( int k = 0; k < mindAreaSet.count(); k++ )
mindAreaSet.get( k ) -> resolveReferences( this );
for( int k = 0; k < connectionTypeSet.count(); k++ )
connectionTypeSet.get( k ) -> resolveReferences( this );
for( int k = 0; k < mindCircuitSet.count(); k++ )
mindCircuitSet.get( k ) -> resolveReferences( this );
}
示例7: createService
void AIKnowledgeImpl::createService( Xml config )
{
// create controllers
Xml configControllers = config.getFirstChild( "controllers" );
if( !configControllers.exists() )
return;
addKnowledgeController( configControllers , KnowledgeController::createImageKnowledgeBase() );
}
示例8: createConnectionTypeDefSet
void MindMap::createConnectionTypeDefSet( Xml xml ) {
if( !xml.exists() )
return;
for( Xml xmlChild = xml.getFirstChild( "connection-type" ); xmlChild.exists(); xmlChild = xmlChild.getNextChild( "connection-type" ) ) {
// construct MindArea from attributes
MindConnectionTypeDef *linkType = new MindConnectionTypeDef;
linkType -> createFromXml( xmlChild );
connectionTypeSet.add( linkType );
connectionTypeMap.add( linkType -> getName() , linkType );
}
}
示例9: createConnectorSetFromXml
void MindRegionTypeDef::createConnectorSetFromXml( Xml xml ) {
if( !xml.exists() )
return;
for( Xml xmlChild = xml.getFirstChild( "connector" ); xmlChild.exists(); xmlChild = xmlChild.getNextChild( "connector" ) ) {
// construct MindArea from attributes
MindRegionConnectorDef *connector = new MindRegionConnectorDef;
connector -> createFromXml( xmlChild );
String id = connector -> getId();
ASSERTMSG( !id.isEmpty() , "region type connector is not well-defined: " + xmlChild.serialize() );
// add to set and map
connectorSet.add( connector );
connectorMap.add( id , connector );
}
}
示例10: loadLevel
void XmlSpinalCordLayout::loadLevel( Xml xmlLevel , MapStringToClass<StringList>& levelData ) {
for( Xml xmlChild = xmlLevel.getFirstChild( "lamina" ); xmlChild.exists(); xmlChild = xmlChild.getNextChild( "lamina" ) ) {
String id = xmlChild.getAttribute( "id" );
String elements = xmlChild.getAttribute( "elements" );
StringList& items = levelData.getRef( id );
StringList parts;
elements.split( parts , "," );
for( int k = 0; k < parts.count(); k++ ) {
String element = parts.get( k );
ASSERTMSG( hmind -> getIndexedElement( element ) != NULL , "unknown element index=" + element );
if( items.find( element ) < 0 )
items.add( element );
}
}
}
示例11: createFromXml
void MindConnectionTypeDef::createFromXml( Xml xml ) {
// attributes
name = xml.getAttribute( "name" );
Object::setInstance( name );
srcRegionType = xml.getAttribute( "regionsrc" );
dstRegionType = xml.getAttribute( "regiondst" );
// links
for( Xml xmlChild = xml.getFirstChild( "link-type" ); xmlChild.exists(); xmlChild = xmlChild.getNextChild( "link-type" ) ) {
// construct MindArea from attributes
MindConnectionLinkTypeDef *link = new MindConnectionLinkTypeDef( this );
link -> createFromXml( xmlChild );
links.add( link );
linkMap.add( link -> getName() , link );
}
}
示例12: createCircuitDefSet
void MindMap::createCircuitDefSet( Xml xml ) {
if( !xml.exists() )
return;
// check using another file
EnvService *es = EnvService::getService();
String xmlFile = xml.getAttribute( "xmlfile" , "" );
if( !xmlFile.isEmpty() )
xml = es -> loadXml( xmlFile );
for( Xml xmlChild = xml.getFirstChild( "circuit" ); xmlChild.exists(); xmlChild = xmlChild.getNextChild( "circuit" ) ) {
// construct MindArea from attributes
MindCircuitDef *circuit = new MindCircuitDef;
circuit -> createFromXml( xmlChild );
mindCircuitSet.add( circuit );
mindCircuitMap.add( circuit -> getName() , circuit );
}
}
示例13: createFromXml
void MindCircuitDef::createFromXml( Xml xml ) {
// attributes are properties
id = xml.getAttribute( "id" );
name = xml.getAttribute( "name" );
Object::setInstance( name );
enabled = xml.getBooleanAttribute( "enabled" , true );
if( !enabled )
return;
// read connections
for( Xml xmlChild = xml.getFirstChild( "connection" ); xmlChild.exists(); xmlChild = xmlChild.getNextChild( "connection" ) ) {
// construct MindArea from attributes
MindCircuitConnectionDef *connection = new MindCircuitConnectionDef( this );
connection -> createFromXml( xmlChild );
connections.add( connection );
}
}
示例14: createRegionTypeDefSet
void MindMap::createRegionTypeDefSet( Xml xml ) {
if( !xml.exists() )
return;
for( Xml xmlChild = xml.getFirstChild( "region-type" ); xmlChild.exists(); xmlChild = xmlChild.getNextChild( "region-type" ) ) {
// construct MindRegionType from attributes
MindRegionTypeDef *info = new MindRegionTypeDef;
regionTypeSet.add( info );
info -> createFromXml( xmlChild );
// get region type name
String name = info -> getName();
ASSERTMSG( !name.isEmpty() , "region type is not defined: " + xmlChild.serialize() );
ASSERTMSG( regionTypeMap.get( name ) == NULL , name + ": region type duplicate found for name=" + name );
// add
regionTypeMap.add( name , info );
}
}
示例15: createFromXml
void MindAreaDef::createFromXml( Xml xml ) {
// attributes are properties
areaId = xml.getAttribute( "id" );
areaType = xml.getAttribute( "type" );
areaName = xml.getAttribute( "name" );
areaFunction = xml.getAttribute( "function" );
Object::setInstance( areaId );
enabled = xml.getBooleanAttribute( "enabled" , true );
if( !enabled )
return;
// read regions
for( Xml xmlChild = xml.getFirstChild( "region" ); xmlChild.exists(); xmlChild = xmlChild.getNextChild( "region" ) ) {
// construct MindArea from attributes
MindRegionDef *region = new MindRegionDef( this );
region -> createFromXml( xmlChild );
regions.add( region );
regionMap.add( region -> getId() , region );
}
}