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


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

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


在下文中一共展示了Xml::attach方法的10个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。

示例1: parse

Xml Xml::parse( const char *src , int& len , bool& p_error ) {
	if( src == NULL )
		return( Xml() );

	// parse
	TiXmlDocument *doc = new TiXmlDocument();

	Xml xml;
	try {
		const char *res = doc -> Parse( src );
		if( res != NULL ) {
			p_error = false;
			len = res - src;
			xml.attach( doc , doc -> FirstChildElement() );
		}
	}
	catch( RuntimeException& e ) {
		Logger log;
		log.attachRoot();
		log.printStack( e );
		p_error = true;
		len = 0;
	}

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

示例2: create

Xml Xml::create( const char *contentName ) {
	TiXmlDocument *doc = new TiXmlDocument();
	TiXmlElement *top = new TiXmlElement( contentName );
	doc -> LinkEndChild( top );
	
	Xml xml;
	xml.attach( doc , top );

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

示例3: getNextChild

Xml Xml::getNextChild( String name ) {
	ASSERTMSG( node != NULL , name + " node parent is null" );

	TiXmlElement *xml = ( TiXmlElement * )node;
	TiXmlElement *xmlChild = xml -> NextSiblingElement( name );

	Xml item;
	item.attach( doc , xmlChild );
	return( item );
}
开发者ID:AbhishekGhosh,项目名称:Artificial-Human,代码行数:10,代码来源:xml.cpp

示例4: addElement

Xml Xml::addElement( String name ) {
	ASSERTMSG( node != NULL , name + " node parent is null" );

	TiXmlNode *xml = ( TiXmlNode * )node;
	TiXmlElement *xmlProp = new TiXmlElement( name );
	xml -> LinkEndChild( xmlProp );

	Xml ret;
	ret.attach( doc , xmlProp );
	return( ret );
}
开发者ID:AbhishekGhosh,项目名称:Artificial-Human,代码行数:11,代码来源:xml.cpp

示例5: load

Xml Xml::load( const char *path ) {
	TiXmlDocument *doc = new TiXmlDocument( path );
	if( !doc -> LoadFile() ) {
		String err = String( "loadXml: cannot load root configuration from path=" ) + path;
		delete doc;
		throw RuntimeError( err );
	}

	Xml xml;
	xml.attach( doc , doc -> FirstChildElement() );

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

示例6: addTextElement

Xml Xml::addTextElement( String name , String value ) {
	ASSERTMSG( node != NULL , name + " node parent is null" );

	TiXmlElement *xml = ( TiXmlElement * )node;
	TiXmlElement *xmlElement = new TiXmlElement( name );
	xml -> LinkEndChild( xmlElement );
	TiXmlText *xmlValue = new TiXmlText( value );
	xmlElement -> LinkEndChild( xmlValue );

	Xml ret;
	ret.attach( doc , xmlValue );
	return( ret );
}
开发者ID:AbhishekGhosh,项目名称:Artificial-Human,代码行数:13,代码来源:xml.cpp

示例7: getChildNode

Xml Xml::getChildNode( String s ) {
	ASSERT( node != NULL );

	TiXmlElement *xml = ( TiXmlElement * )node;
	TiXmlElement *xmlChild = NULL;
	try {
		xmlChild = xml -> FirstChildElement( s );
	}
	catch( ... ) {
		// ignore - handle by null value returned
	}

	Xml x;
	x.attach( doc , xmlChild );

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

示例8: getFirstChild

Xml Xml::getFirstChild( String name ) {
	ASSERTMSG( node != NULL , name + " node parent is null" );

	TiXmlElement *xml = ( TiXmlElement * )node;

	TiXmlElement *xmlChild = NULL;
	try {
		xmlChild = xml -> FirstChildElement( name );
	}
	catch( ... ) {
		// ignore - handle by null value returned
	}

	Xml item;
	item.attach( doc , xmlChild );
	return( item );
}
开发者ID:AbhishekGhosh,项目名称:Artificial-Human,代码行数:17,代码来源:xml.cpp

示例9: getParentNode

Xml Xml::getParentNode() {
	ASSERT( node != NULL );

	TiXmlNode *xml = ( TiXmlNode * )node;
	TiXmlNode *xmlParent = NULL;
	try {
		xmlParent = xml -> Parent();
		if( xmlParent -> Type() == TiXmlNode::DOCUMENT )
			xmlParent = NULL;
	}
	catch( ... ) {
		// ignore - handle by null value returned
	}

	Xml x;
	x.attach( doc , xmlParent );

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

示例10: read

Xml Xml::read( const char *data , const char *contentName ) {
	TiXmlDocument *doc = new TiXmlDocument();

	const char *p = doc -> Parse( data );
	if( doc -> Error() ) {
		delete doc;
		String err = "XML message cannot be read";
		throw RuntimeError( err );
	}

	// verify trailing data are only spaces
	if( p != NULL ) {
		char c;
		while( c = *p++ )
			if( !( c == ' ' || c == '\t' || c == '\v' || c == '\n' || c == '\r' ) )
				break;

		if( c ) {
			delete doc;
			String err = "XML message is malformed - data found behind message: ";
			err += data;
			throw RuntimeError( err );
		}
	}

	// verify message has given child element
	try {
		TiXmlElement *item = doc -> FirstChildElement( contentName );
		if( item != NULL )
			{
				Xml xml;
				xml.attach( doc , item );
				return( xml );
			}
	}
	catch( ... ) {
		// ignore - generate own exception instead
	}

	delete doc;
	String err = String( "XML message is malformed - cannot find required top item: " ) + contentName;
	throw RuntimeError( err );
}
开发者ID:AbhishekGhosh,项目名称:Artificial-Human,代码行数:43,代码来源:xml.cpp


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