当前位置: 首页>>代码示例>>C++>>正文


C++ Xml::getNextChild方法代码示例

本文整理汇总了C++中Xml::getNextChild方法的典型用法代码示例。如果您正苦于以下问题:C++ Xml::getNextChild方法的具体用法?C++ Xml::getNextChild怎么用?C++ Xml::getNextChild使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在Xml的用法示例。


在下文中一共展示了Xml::getNextChild方法的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 );
	}
}
开发者ID:sarbjit-longia,项目名称:ahuman,代码行数:32,代码来源:mindmap.cpp

示例2: 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 );
	}
}
开发者ID:sarbjit-longia,项目名称:ahuman,代码行数:29,代码来源:mindareainfo.cpp

示例3: 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 );
	}
}
开发者ID:sarbjit-longia,项目名称:ahuman,代码行数:29,代码来源:xmlbraintractpath.cpp

示例4: 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 );
	}
}
开发者ID:AbhishekGhosh,项目名称:Artificial-Human,代码行数:13,代码来源:xmlspinalcordlayout.cpp

示例5: 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 );
	}
}
开发者ID:AbhishekGhosh,项目名称:Artificial-Human,代码行数:17,代码来源:mindconnectiontypedef.cpp

示例6: 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 );
	}
}
开发者ID:AbhishekGhosh,项目名称:Artificial-Human,代码行数:17,代码来源:mindregiontypedef.cpp

示例7: 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 );
	}
}
开发者ID:AbhishekGhosh,项目名称:Artificial-Human,代码行数:18,代码来源:mindmap.cpp

示例8: findChildByPathAttr

Xml Xml::findChildByPathAttr( String path , String attr , String value ) {
	Xml xml = findChildByPath( path );
	if( !xml.exists() )
		return( xml );

	String key;
	int index = path.findLast( '/' );
	if( index < 0 )
		key = path;
	else
		key = path.getMid( index + 1 );

	while( xml.exists() ) {
		if( xml.getAttribute( attr , "" ).equals( value ) )
			return( xml );

		xml = xml.getNextChild( key );
	}
	return( xml );
}
开发者ID:AbhishekGhosh,项目名称:Artificial-Human,代码行数:20,代码来源:xml.cpp

示例9: 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 );
	}
}
开发者ID:AbhishekGhosh,项目名称:Artificial-Human,代码行数:21,代码来源:mindareadef.cpp

示例10: createAreaDefSet

void MindMap::createAreaDefSet( Xml xml ) {
	if( !xml.exists() )
		return;

	for( Xml xmlChild = xml.getFirstChild( "area" ); xmlChild.exists(); xmlChild = xmlChild.getNextChild( "area" ) ) {
		// construct MindArea from attributes
		MindAreaDef *info = new MindAreaDef;
		mindAreaSet.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 );

		// add regions to map
		createRegionMap( info );
	}
}
开发者ID:AbhishekGhosh,项目名称:Artificial-Human,代码行数:23,代码来源:mindmap.cpp

示例11: 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 );
		}
	}
}
开发者ID:AbhishekGhosh,项目名称:Artificial-Human,代码行数:17,代码来源:xmlspinalcordlayout.cpp

示例12: 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 );
	}
}
开发者ID:AbhishekGhosh,项目名称:Artificial-Human,代码行数:18,代码来源:mindcircuitdef.cpp

示例13: 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 );
	}
}
开发者ID:AbhishekGhosh,项目名称:Artificial-Human,代码行数:12,代码来源:mindmap.cpp

示例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 );
	}
}
开发者ID:AbhishekGhosh,项目名称:Artificial-Human,代码行数:20,代码来源:mindmap.cpp

示例15: 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 );
	}
}
开发者ID:AbhishekGhosh,项目名称:Artificial-Human,代码行数:33,代码来源:mindmap.cpp


注:本文中的Xml::getNextChild方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。