亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? tinyxml.cpp

?? xml 簡單解析器
?? CPP
?? 第 1 頁 / 共 3 頁
字號:


void TiXmlDocument::Print( FILE* cfile, int depth ) const
{
	const TiXmlNode* node;
	for ( node=FirstChild(); node; node=node->NextSibling() )
	{
		node->Print( cfile, depth );
		fprintf( cfile, "\n" );
	}
}

void TiXmlDocument::StreamOut( TIXML_OSTREAM * out ) const
{
	const TiXmlNode* node;
	for ( node=FirstChild(); node; node=node->NextSibling() )
	{
		node->StreamOut( out );

		// Special rule for streams: stop after the root element.
		// The stream in code will only read one element, so don't
		// write more than one.
		if ( node->ToElement() )
			break;
	}
}


const TiXmlAttribute* TiXmlAttribute::Next() const
{
	// We are using knowledge of the sentinel. The sentinel
	// have a value or name.
	if ( next->value.empty() && next->name.empty() )
		return 0;
	return next;
}

TiXmlAttribute* TiXmlAttribute::Next()
{
	// We are using knowledge of the sentinel. The sentinel
	// have a value or name.
	if ( next->value.empty() && next->name.empty() )
		return 0;
	return next;
}

const TiXmlAttribute* TiXmlAttribute::Previous() const
{
	// We are using knowledge of the sentinel. The sentinel
	// have a value or name.
	if ( prev->value.empty() && prev->name.empty() )
		return 0;
	return prev;
}

TiXmlAttribute* TiXmlAttribute::Previous()
{
	// We are using knowledge of the sentinel. The sentinel
	// have a value or name.
	if ( prev->value.empty() && prev->name.empty() )
		return 0;
	return prev;
}

void TiXmlAttribute::Print( FILE* cfile, int /*depth*/ ) const
{
	TIXML_STRING n, v;

	PutString( name, &n );
	PutString( value, &v );

	if (value.find ('\"') == TIXML_STRING::npos)
		fprintf (cfile, "%s=\"%s\"", n.c_str(), v.c_str() );
	else
		fprintf (cfile, "%s='%s'", n.c_str(), v.c_str() );
}


void TiXmlAttribute::StreamOut( TIXML_OSTREAM * stream ) const
{
	if (value.find( '\"' ) != TIXML_STRING::npos)
	{
		PutString( name, stream );
		(*stream) << "=" << "'";
		PutString( value, stream );
		(*stream) << "'";
	}
	else
	{
		PutString( name, stream );
		(*stream) << "=" << "\"";
		PutString( value, stream );
		(*stream) << "\"";
	}
}

int TiXmlAttribute::QueryIntValue( int* ival ) const
{
	if ( sscanf( value.c_str(), "%d", ival ) == 1 )
		return TIXML_SUCCESS;
	return TIXML_WRONG_TYPE;
}

int TiXmlAttribute::QueryDoubleValue( double* dval ) const
{
	if ( sscanf( value.c_str(), "%lf", dval ) == 1 )
		return TIXML_SUCCESS;
	return TIXML_WRONG_TYPE;
}

void TiXmlAttribute::SetIntValue( int _value )
{
	char buf [64];
	#if defined(TIXML_SNPRINTF)		
		TIXML_SNPRINTF(buf, sizeof(buf), "%d", _value);
	#else
		sprintf (buf, "%d", _value);
	#endif
	SetValue (buf);
}

void TiXmlAttribute::SetDoubleValue( double _value )
{
	char buf [256];
	#if defined(TIXML_SNPRINTF)		
		TIXML_SNPRINTF( buf, sizeof(buf), "%lf", _value);
	#else
		sprintf (buf, "%lf", _value);
	#endif
	SetValue (buf);
}

int TiXmlAttribute::IntValue() const
{
	return atoi (value.c_str ());
}

double  TiXmlAttribute::DoubleValue() const
{
	return atof (value.c_str ());
}


TiXmlComment::TiXmlComment( const TiXmlComment& copy ) : TiXmlNode( TiXmlNode::COMMENT )
{
	copy.CopyTo( this );
}


void TiXmlComment::operator=( const TiXmlComment& base )
{
	Clear();
	base.CopyTo( this );
}


void TiXmlComment::Print( FILE* cfile, int depth ) const
{
	for ( int i=0; i<depth; i++ )
	{
		fputs( "    ", cfile );
	}
	fprintf( cfile, "<!--%s-->", value.c_str() );
}

void TiXmlComment::StreamOut( TIXML_OSTREAM * stream ) const
{
	(*stream) << "<!--";
	//PutString( value, stream );
	(*stream) << value;
	(*stream) << "-->";
}


void TiXmlComment::CopyTo( TiXmlComment* target ) const
{
	TiXmlNode::CopyTo( target );
}


TiXmlNode* TiXmlComment::Clone() const
{
	TiXmlComment* clone = new TiXmlComment();

	if ( !clone )
		return 0;

	CopyTo( clone );
	return clone;
}


void TiXmlText::Print( FILE* cfile, int depth ) const
{
	if ( cdata )
	{
		int i;
		fprintf( cfile, "\n" );
		for ( i=0; i<depth; i++ ) {
			fprintf( cfile, "    " );
		}
		fprintf( cfile, "<![CDATA[" );
		fprintf( cfile, "%s", value.c_str() );	// unformatted output
		fprintf( cfile, "]]>\n" );
	}
	else
	{
		TIXML_STRING buffer;
		PutString( value, &buffer );
		fprintf( cfile, "%s", buffer.c_str() );
	}
}


void TiXmlText::StreamOut( TIXML_OSTREAM * stream ) const
{
	if ( cdata )
	{
		(*stream) << "<![CDATA[" << value << "]]>";
	}
	else
	{
		PutString( value, stream );
	}
}


void TiXmlText::CopyTo( TiXmlText* target ) const
{
	TiXmlNode::CopyTo( target );
	target->cdata = cdata;
}


TiXmlNode* TiXmlText::Clone() const
{	
	TiXmlText* clone = 0;
	clone = new TiXmlText( "" );

	if ( !clone )
		return 0;

	CopyTo( clone );
	return clone;
}


TiXmlDeclaration::TiXmlDeclaration( const char * _version,
									const char * _encoding,
									const char * _standalone )
	: TiXmlNode( TiXmlNode::DECLARATION )
{
	version = _version;
	encoding = _encoding;
	standalone = _standalone;
}


#ifdef TIXML_USE_STL
TiXmlDeclaration::TiXmlDeclaration(	const std::string& _version,
									const std::string& _encoding,
									const std::string& _standalone )
	: TiXmlNode( TiXmlNode::DECLARATION )
{
	version = _version;
	encoding = _encoding;
	standalone = _standalone;
}
#endif


TiXmlDeclaration::TiXmlDeclaration( const TiXmlDeclaration& copy )
	: TiXmlNode( TiXmlNode::DECLARATION )
{
	copy.CopyTo( this );	
}


void TiXmlDeclaration::operator=( const TiXmlDeclaration& copy )
{
	Clear();
	copy.CopyTo( this );
}


void TiXmlDeclaration::Print( FILE* cfile, int /*depth*/ ) const
{
	fprintf (cfile, "<?xml ");

	if ( !version.empty() )
		fprintf (cfile, "version=\"%s\" ", version.c_str ());
	if ( !encoding.empty() )
		fprintf (cfile, "encoding=\"%s\" ", encoding.c_str ());
	if ( !standalone.empty() )
		fprintf (cfile, "standalone=\"%s\" ", standalone.c_str ());
	fprintf (cfile, "?>");
}

void TiXmlDeclaration::StreamOut( TIXML_OSTREAM * stream ) const
{
	(*stream) << "<?xml ";

	if ( !version.empty() )
	{
		(*stream) << "version=\"";
		PutString( version, stream );
		(*stream) << "\" ";
	}
	if ( !encoding.empty() )
	{
		(*stream) << "encoding=\"";
		PutString( encoding, stream );
		(*stream ) << "\" ";
	}
	if ( !standalone.empty() )
	{
		(*stream) << "standalone=\"";
		PutString( standalone, stream );
		(*stream) << "\" ";
	}
	(*stream) << "?>";
}


void TiXmlDeclaration::CopyTo( TiXmlDeclaration* target ) const
{
	TiXmlNode::CopyTo( target );

	target->version = version;
	target->encoding = encoding;
	target->standalone = standalone;
}


TiXmlNode* TiXmlDeclaration::Clone() const
{	
	TiXmlDeclaration* clone = new TiXmlDeclaration();

	if ( !clone )
		return 0;

	CopyTo( clone );
	return clone;
}


void TiXmlUnknown::Print( FILE* cfile, int depth ) const
{
	for ( int i=0; i<depth; i++ )
		fprintf( cfile, "    " );
	fprintf( cfile, "<%s>", value.c_str() );
}


void TiXmlUnknown::StreamOut( TIXML_OSTREAM * stream ) const
{
	(*stream) << "<" << value << ">";		// Don't use entities here! It is unknown.
}


void TiXmlUnknown::CopyTo( TiXmlUnknown* target ) const
{
	TiXmlNode::CopyTo( target );
}


TiXmlNode* TiXmlUnknown::Clone() const
{
	TiXmlUnknown* clone = new TiXmlUnknown();

	if ( !clone )
		return 0;

	CopyTo( clone );
	return clone;
}


TiXmlAttributeSet::TiXmlAttributeSet()
{
	sentinel.next = &sentinel;
	sentinel.prev = &sentinel;
}


TiXmlAttributeSet::~TiXmlAttributeSet()
{
	assert( sentinel.next == &sentinel );
	assert( sentinel.prev == &sentinel );
}


void TiXmlAttributeSet::Add( TiXmlAttribute* addMe )
{
	assert( !Find( TIXML_STRING( addMe->Name() ) ) );	// Shouldn't be multiply adding to the set.

	addMe->next = &sentinel;
	addMe->prev = sentinel.prev;

	sentinel.prev->next = addMe;
	sentinel.prev      = addMe;
}

void TiXmlAttributeSet::Remove( TiXmlAttribute* removeMe )
{
	TiXmlAttribute* node;

	for( node = sentinel.next; node != &sentinel; node = node->next )
	{
		if ( node == removeMe )
		{
			node->prev->next = node->next;
			node->next->prev = node->prev;
			node->next = 0;
			node->prev = 0;
			return;
		}
	}
	assert( 0 );		// we tried to remove a non-linked attribute.
}

const TiXmlAttribute* TiXmlAttributeSet::Find( const TIXML_STRING& name ) const
{
	const TiXmlAttribute* node;

	for( node = sentinel.next; node != &sentinel; node = node->next )
	{
		if ( node->name == name )
			return node;
	}
	return 0;
}

TiXmlAttribute*	TiXmlAttributeSet::Find( const TIXML_STRING& name )
{
	TiXmlAttribute* node;

	for( node = sentinel.next; node != &sentinel; node = node->next )
	{
		if ( node->name == name )
			return node;
	}
	return 0;
}

#ifdef TIXML_USE_STL	
TIXML_ISTREAM & operator >> (TIXML_ISTREAM & in, TiXmlNode & base)
{
	TIXML_STRING tag;
	tag.reserve( 8 * 1000 );
	base.StreamIn( &in, &tag );

	base.Parse( tag.c_str(), 0, TIXML_DEFAULT_ENCODING );
	return in;
}
#endif


TIXML_OSTREAM & operator<< (TIXML_OSTREAM & out, const TiXmlNode & base)
{
	base.StreamOut (& out);
	return out;
}


#ifdef TIXML_USE_STL	
std::string & operator<< (std::string& out, const TiXmlNode& base )
{
   std::ostringstream os_stream( std::ostringstream::out );
   base.StreamOut( &os_stream );
   
   out.append( os_stream.str() );
   return out;
}
#endif


TiXmlHandle TiXmlHandle::FirstChild() const
{
	if ( node )
	{
		TiXmlNode* child = node->FirstChild();
		if ( child )
			return TiXmlHandle( child );
	}
	return TiXmlHandle( 0 );
}


TiXmlHandle TiXmlHandle::FirstChild( const char * value ) const
{
	if ( node )
	{
		TiXmlNode* child = node->FirstChild( value );
		if ( child )
			return TiXmlHandle( child );
	}
	return TiXmlHandle( 0 );
}


TiXmlHandle TiXmlHandle::FirstChildElement() const
{
	if ( node )
	{
		TiXmlElement* child = node->FirstChildElement();
		if ( child )
			return TiXmlHandle( child );
	}
	return TiXmlHandle( 0 );
}


TiXmlHandle TiXmlHandle::FirstChildElement( const char * value ) const
{
	if ( node )
	{
		TiXmlElement* child = node->FirstChildElement( value );
		if ( child )
			return TiXmlHandle( child );
	}
	return TiXmlHandle( 0 );
}


TiXmlHandle TiXmlHandle::Child( int count ) const
{
	if ( node )
	{
		int i;
		TiXmlNode* child = node->FirstChild();
		for (	i=0;
				child && i<count;
				child = child->NextSibling(), ++i )
		{
			// nothing
		}
		if ( child )
			return TiXmlHandle( child );
	}
	return TiXmlHandle( 0 );
}


TiXmlHandle TiXmlHandle::Child( const char* value, int count ) const
{
	if ( node )
	{
		int i;
		TiXmlNode* child = node->FirstChild( value );
		for (	i=0;
				child && i<count;
				child = child->NextSibling( value ), ++i )
		{
			// nothing
		}
		if ( child )
			return TiXmlHandle( child );
	}
	return TiXmlHandle( 0 );
}


TiXmlHandle TiXmlHandle::ChildElement( int count ) const
{
	if ( node )
	{
		int i;
		TiXmlElement* child = node->FirstChildElement();
		for (	i=0;
				child && i<count;
				child = child->NextSiblingElement(), ++i )
		{
			// nothing
		}
		if ( child )
			return TiXmlHandle( child );
	}
	return TiXmlHandle( 0 );
}


TiXmlHandle TiXmlHandle::ChildElement( const char* value, int count ) const
{
	if ( node )
	{
		int i;
		TiXmlElement* child = node->FirstChildElement( value );
		for (	i=0;
				child && i<count;
				child = child->NextSiblingElement( value ), ++i )
		{
			// nothing
		}
		if ( child )
			return TiXmlHandle( child );
	}
	return TiXmlHandle( 0 );
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产精品私人自拍| 26uuu精品一区二区在线观看| 国产精品国产三级国产aⅴ入口| 成人性生交大片免费看中文网站| 欧美韩日一区二区三区| 99久久伊人网影院| 一区二区三区四区乱视频| 欧美日韩午夜影院| 美国十次综合导航| 欧美激情一区二区三区四区| 99久久精品国产一区| 亚洲国产美女搞黄色| 日韩欧美一级在线播放| 国产高清精品网站| 亚洲男人电影天堂| 6080午夜不卡| 国产成人综合在线观看| 专区另类欧美日韩| 91精品国产一区二区三区香蕉| 国产乱人伦偷精品视频免下载| 国产精品美女www爽爽爽| 欧美性猛片xxxx免费看久爱| 久久精品99国产精品日本| 中文字幕的久久| 欧美日韩一区二区在线观看视频| 蜜臀91精品一区二区三区| 欧美国产一区二区在线观看| 欧美在线短视频| 国产精品99精品久久免费| 亚洲国产视频一区二区| 欧美精品一区男女天堂| 91免费看`日韩一区二区| 蜜桃视频在线观看一区| 国产精品高潮呻吟久久| 欧美一区二区三级| 91免费视频网| 国产成人免费在线观看| 亚洲va在线va天堂| 国产精品毛片久久久久久| 91精品国产手机| 91成人在线精品| 精品一区二区在线看| 依依成人精品视频| 久久精品夜色噜噜亚洲a∨| 欧美嫩在线观看| 92精品国产成人观看免费| 国内精品国产三级国产a久久| 一区二区三区四区精品在线视频| 国产亚洲精品精华液| 欧美r级在线观看| 欧美日韩精品欧美日韩精品| 99视频有精品| 福利视频网站一区二区三区| 麻豆国产一区二区| 亚洲不卡在线观看| 亚洲黄色片在线观看| 国产精品欧美精品| 国产欧美一区二区三区鸳鸯浴 | 99久久国产综合精品色伊| 午夜影视日本亚洲欧洲精品| 国产精品人妖ts系列视频| 精品日韩欧美一区二区| 日韩一区二区三区免费看| 日本久久精品电影| 91尤物视频在线观看| 成人美女在线视频| 国产成人在线视频网址| 精品亚洲porn| 精品一区二区三区久久久| 天天av天天翘天天综合网| 亚洲自拍偷拍图区| 亚洲在线免费播放| 亚洲综合在线免费观看| 国产精品久久久久三级| 国产精品理伦片| 国产精品免费免费| 日韩美女视频一区| 18欧美乱大交hd1984| 国产精品久久二区二区| 国产精品乱人伦中文| 国产精品久久久久久久浪潮网站| 国产欧美精品一区二区三区四区| 国产日韩欧美综合一区| 国产精品色婷婷久久58| 国产精品免费看片| 亚洲精品视频一区| 亚洲一区在线免费观看| 天堂成人免费av电影一区| 日韩精品午夜视频| 久久99精品久久久久| 国产成人av电影免费在线观看| 成人免费看黄yyy456| 不卡视频一二三四| 在线免费视频一区二区| 欧美日韩你懂得| 日韩欧美在线网站| 久久久.com| 综合分类小说区另类春色亚洲小说欧美 | 顶级嫩模精品视频在线看| 成人精品视频.| 色菇凉天天综合网| 91精品国产综合久久小美女| 欧美v亚洲v综合ⅴ国产v| 国产亚洲欧美一区在线观看| 国产精品白丝在线| 亚洲福利电影网| 久久99热这里只有精品| 成人激情动漫在线观看| 欧美性猛交xxxxxxxx| 欧美精品一区二区精品网| 国产精品女同互慰在线看| 一区二区欧美国产| 国产美女av一区二区三区| 国产v综合v亚洲欧| 欧美日韩精品免费观看视频| 久久午夜电影网| 亚洲综合偷拍欧美一区色| 蜜臀av性久久久久蜜臀aⅴ流畅 | 国产成a人亚洲精品| 色吊一区二区三区| 久久综合九色综合欧美亚洲| 亚洲精品综合在线| 韩国欧美国产一区| 欧美亚洲动漫精品| 久久男人中文字幕资源站| 一级精品视频在线观看宜春院| 欧美aaaaaa午夜精品| 91麻豆.com| 精品成人一区二区| 亚洲一区二区在线免费观看视频| 国产一区在线精品| 欧美日产国产精品| 综合亚洲深深色噜噜狠狠网站| 精品制服美女久久| 欧美美女视频在线观看| 国产精品久久久久久久久免费丝袜 | 欧美男男青年gay1069videost| 国产午夜久久久久| 日日摸夜夜添夜夜添精品视频| 高清在线不卡av| 精品免费一区二区三区| 午夜精品一区二区三区电影天堂| 国产91丝袜在线观看| 日韩一级完整毛片| 石原莉奈在线亚洲二区| 色噜噜狠狠一区二区三区果冻| 国产欧美日韩另类一区| 看电视剧不卡顿的网站| 欧美日韩成人综合天天影院| 亚洲免费av高清| 成人黄色777网| 国产香蕉久久精品综合网| 激情文学综合丁香| 欧美一区二区免费视频| 亚洲电影中文字幕在线观看| 91在线观看污| 亚洲国产精品二十页| 国产大陆a不卡| 精品国精品自拍自在线| 美女在线视频一区| 欧美日韩综合色| 亚洲午夜精品在线| 欧美日韩亚洲综合在线| 亚洲在线观看免费| 欧美日韩一区高清| 亚洲成人av中文| 欧美日韩国产成人在线免费| 亚洲成人福利片| 欧美日本一区二区在线观看| 亚洲成a人片综合在线| 2023国产一二三区日本精品2022| 久久av中文字幕片| 精品久久国产老人久久综合| 久久成人18免费观看| 日韩精品中午字幕| 国产精品一级片在线观看| 国产欧美视频一区二区三区| 粉嫩aⅴ一区二区三区四区五区 | 精品国产一区二区精华| 久久国产成人午夜av影院| 欧美不卡123| 东方欧美亚洲色图在线| 日韩美女视频一区二区 | 国产91精品欧美| 亚洲欧美偷拍卡通变态| 在线观看三级视频欧美| 婷婷夜色潮精品综合在线| 日韩免费一区二区| 国产成人在线色| 亚洲欧美一区二区视频| 欧洲精品视频在线观看| 日韩精品一级二级 | 欧美女孩性生活视频| 久久精品二区亚洲w码| 国产女人18毛片水真多成人如厕| av不卡免费电影| 天天色天天爱天天射综合| 久久免费电影网| 色呦呦网站一区| 久久国产三级精品|