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

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

?? tinyxml.cpp

?? tinyxml project for Visual Studio 2008. A small xml parser, the result is lib file for embedded ARM
?? CPP
?? 第 1 頁 / 共 3 頁
字號:
/*www.sourceforge.net/projects/tinyxmlOriginal code (2.0 and earlier )copyright (c) 2000-2006 Lee Thomason (www.grinninglizard.com)This software is provided 'as-is', without any express or impliedwarranty. In no event will the authors be held liable for anydamages arising from the use of this software.Permission is granted to anyone to use this software for anypurpose, including commercial applications, and to alter it andredistribute it freely, subject to the following restrictions:1. The origin of this software must not be misrepresented; you mustnot claim that you wrote the original software. If you use thissoftware in a product, an acknowledgment in the product documentationwould be appreciated but is not required.2. Altered source versions must be plainly marked as such, andmust not be misrepresented as being the original software.3. This notice may not be removed or altered from any sourcedistribution.*/#include <ctype.h>#ifdef TIXML_USE_STL#include <sstream>#include <iostream>#endif#include "tinyxml.h"bool TiXmlBase::condenseWhiteSpace = true;void TiXmlBase::PutString( const TIXML_STRING& str, TIXML_STRING* outString ){	int i=0;	while( i<(int)str.length() )	{		unsigned char c = (unsigned char) str[i];		if (    c == '&' 		     && i < ( (int)str.length() - 2 )			 && str[i+1] == '#'			 && str[i+2] == 'x' )		{			// Hexadecimal character reference.			// Pass through unchanged.			// &#xA9;	-- copyright symbol, for example.			//			// The -1 is a bug fix from Rob Laveaux. It keeps			// an overflow from happening if there is no ';'.			// There are actually 2 ways to exit this loop -			// while fails (error case) and break (semicolon found).			// However, there is no mechanism (currently) for			// this function to return an error.			while ( i<(int)str.length()-1 )			{				outString->append( str.c_str() + i, 1 );				++i;				if ( str[i] == ';' )					break;			}		}		else if ( c == '&' )		{			outString->append( entity[0].str, entity[0].strLength );			++i;		}		else if ( c == '<' )		{			outString->append( entity[1].str, entity[1].strLength );			++i;		}		else if ( c == '>' )		{			outString->append( entity[2].str, entity[2].strLength );			++i;		}		else if ( c == '\"' )		{			outString->append( entity[3].str, entity[3].strLength );			++i;		}		else if ( c == '\'' )		{			outString->append( entity[4].str, entity[4].strLength );			++i;		}		else if ( c < 32 )		{			// Easy pass at non-alpha/numeric/symbol			// Below 32 is symbolic.			char buf[ 32 ];						#if defined(TIXML_SNPRINTF)						TIXML_SNPRINTF( buf, sizeof(buf), "&#x%02X;", (unsigned) ( c & 0xff ) );			#else				sprintf( buf, "&#x%02X;", (unsigned) ( c & 0xff ) );			#endif					//*ME:	warning C4267: convert 'size_t' to 'int'			//*ME:	Int-Cast to make compiler happy ...			outString->append( buf, (int)strlen( buf ) );			++i;		}		else		{			//char realc = (char) c;			//outString->append( &realc, 1 );			*outString += (char) c;	// somewhat more efficient function call.			++i;		}	}}TiXmlNode::TiXmlNode( NodeType _type ) : TiXmlBase(){	parent = 0;	type = _type;	firstChild = 0;	lastChild = 0;	prev = 0;	next = 0;}TiXmlNode::~TiXmlNode(){	TiXmlNode* node = firstChild;	TiXmlNode* temp = 0;	while ( node )	{		temp = node;		node = node->next;		delete temp;	}	}void TiXmlNode::CopyTo( TiXmlNode* target ) const{	target->SetValue (value.c_str() );	target->userData = userData; }void TiXmlNode::Clear(){	TiXmlNode* node = firstChild;	TiXmlNode* temp = 0;	while ( node )	{		temp = node;		node = node->next;		delete temp;	}		firstChild = 0;	lastChild = 0;}TiXmlNode* TiXmlNode::LinkEndChild( TiXmlNode* node ){	assert( node->parent == 0 || node->parent == this );	assert( node->GetDocument() == 0 || node->GetDocument() == this->GetDocument() );	if ( node->Type() == TiXmlNode::DOCUMENT )	{		delete node;		if ( GetDocument() ) GetDocument()->SetError( TIXML_ERROR_DOCUMENT_TOP_ONLY, 0, 0, TIXML_ENCODING_UNKNOWN );		return 0;	}	node->parent = this;	node->prev = lastChild;	node->next = 0;	if ( lastChild )		lastChild->next = node;	else		firstChild = node;			// it was an empty list.	lastChild = node;	return node;}TiXmlNode* TiXmlNode::InsertEndChild( const TiXmlNode& addThis ){	if ( addThis.Type() == TiXmlNode::DOCUMENT )	{		if ( GetDocument() ) GetDocument()->SetError( TIXML_ERROR_DOCUMENT_TOP_ONLY, 0, 0, TIXML_ENCODING_UNKNOWN );		return 0;	}	TiXmlNode* node = addThis.Clone();	if ( !node )		return 0;	return LinkEndChild( node );}TiXmlNode* TiXmlNode::InsertBeforeChild( TiXmlNode* beforeThis, const TiXmlNode& addThis ){		if ( !beforeThis || beforeThis->parent != this ) {		return 0;	}	if ( addThis.Type() == TiXmlNode::DOCUMENT )	{		if ( GetDocument() ) GetDocument()->SetError( TIXML_ERROR_DOCUMENT_TOP_ONLY, 0, 0, TIXML_ENCODING_UNKNOWN );		return 0;	}	TiXmlNode* node = addThis.Clone();	if ( !node )		return 0;	node->parent = this;	node->next = beforeThis;	node->prev = beforeThis->prev;	if ( beforeThis->prev )	{		beforeThis->prev->next = node;	}	else	{		assert( firstChild == beforeThis );		firstChild = node;	}	beforeThis->prev = node;	return node;}TiXmlNode* TiXmlNode::InsertAfterChild( TiXmlNode* afterThis, const TiXmlNode& addThis ){	if ( !afterThis || afterThis->parent != this ) {		return 0;	}	if ( addThis.Type() == TiXmlNode::DOCUMENT )	{		if ( GetDocument() ) GetDocument()->SetError( TIXML_ERROR_DOCUMENT_TOP_ONLY, 0, 0, TIXML_ENCODING_UNKNOWN );		return 0;	}	TiXmlNode* node = addThis.Clone();	if ( !node )		return 0;	node->parent = this;	node->prev = afterThis;	node->next = afterThis->next;	if ( afterThis->next )	{		afterThis->next->prev = node;	}	else	{		assert( lastChild == afterThis );		lastChild = node;	}	afterThis->next = node;	return node;}TiXmlNode* TiXmlNode::ReplaceChild( TiXmlNode* replaceThis, const TiXmlNode& withThis ){	if ( replaceThis->parent != this )		return 0;	TiXmlNode* node = withThis.Clone();	if ( !node )		return 0;	node->next = replaceThis->next;	node->prev = replaceThis->prev;	if ( replaceThis->next )		replaceThis->next->prev = node;	else		lastChild = node;	if ( replaceThis->prev )		replaceThis->prev->next = node;	else		firstChild = node;	delete replaceThis;	node->parent = this;	return node;}bool TiXmlNode::RemoveChild( TiXmlNode* removeThis ){	if ( removeThis->parent != this )	{			assert( 0 );		return false;	}	if ( removeThis->next )		removeThis->next->prev = removeThis->prev;	else		lastChild = removeThis->prev;	if ( removeThis->prev )		removeThis->prev->next = removeThis->next;	else		firstChild = removeThis->next;	delete removeThis;	return true;}const TiXmlNode* TiXmlNode::FirstChild( const char * _value ) const{	const TiXmlNode* node;	for ( node = firstChild; node; node = node->next )	{		if ( strcmp( node->Value(), _value ) == 0 )			return node;	}	return 0;}const TiXmlNode* TiXmlNode::LastChild( const char * _value ) const{	const TiXmlNode* node;	for ( node = lastChild; node; node = node->prev )	{		if ( strcmp( node->Value(), _value ) == 0 )			return node;	}	return 0;}const TiXmlNode* TiXmlNode::IterateChildren( const TiXmlNode* previous ) const{	if ( !previous )	{		return FirstChild();	}	else	{		assert( previous->parent == this );		return previous->NextSibling();	}}const TiXmlNode* TiXmlNode::IterateChildren( const char * val, const TiXmlNode* previous ) const{	if ( !previous )	{		return FirstChild( val );	}	else	{		assert( previous->parent == this );		return previous->NextSibling( val );	}}const TiXmlNode* TiXmlNode::NextSibling( const char * _value ) const {	const TiXmlNode* node;	for ( node = next; node; node = node->next )	{		if ( strcmp( node->Value(), _value ) == 0 )			return node;	}	return 0;}const TiXmlNode* TiXmlNode::PreviousSibling( const char * _value ) const{	const TiXmlNode* node;	for ( node = prev; node; node = node->prev )	{		if ( strcmp( node->Value(), _value ) == 0 )			return node;	}	return 0;}void TiXmlElement::RemoveAttribute( const char * name ){    #ifdef TIXML_USE_STL	TIXML_STRING str( name );	TiXmlAttribute* node = attributeSet.Find( str );	#else	TiXmlAttribute* node = attributeSet.Find( name );	#endif	if ( node )	{		attributeSet.Remove( node );		delete node;	}}const TiXmlElement* TiXmlNode::FirstChildElement() const{	const TiXmlNode* node;	for (	node = FirstChild();			node;			node = node->NextSibling() )	{		if ( node->ToElement() )			return node->ToElement();	}	return 0;}const TiXmlElement* TiXmlNode::FirstChildElement( const char * _value ) const{	const TiXmlNode* node;	for (	node = FirstChild( _value );			node;			node = node->NextSibling( _value ) )	{		if ( node->ToElement() )			return node->ToElement();	}	return 0;}const TiXmlElement* TiXmlNode::NextSiblingElement() const{	const TiXmlNode* node;	for (	node = NextSibling();			node;			node = node->NextSibling() )	{		if ( node->ToElement() )			return node->ToElement();	}	return 0;}const TiXmlElement* TiXmlNode::NextSiblingElement( const char * _value ) const{	const TiXmlNode* node;	for (	node = NextSibling( _value );			node;			node = node->NextSibling( _value ) )	{		if ( node->ToElement() )			return node->ToElement();	}	return 0;}const TiXmlDocument* TiXmlNode::GetDocument() const{	const TiXmlNode* node;	for( node = this; node; node = node->parent )	{		if ( node->ToDocument() )			return node->ToDocument();	}	return 0;}TiXmlElement::TiXmlElement (const char * _value)	: TiXmlNode( TiXmlNode::ELEMENT ){	firstChild = lastChild = 0;	value = _value;}#ifdef TIXML_USE_STLTiXmlElement::TiXmlElement( const std::string& _value ) 	: TiXmlNode( TiXmlNode::ELEMENT ){	firstChild = lastChild = 0;	value = _value;}#endifTiXmlElement::TiXmlElement( const TiXmlElement& copy)	: TiXmlNode( TiXmlNode::ELEMENT ){	firstChild = lastChild = 0;	copy.CopyTo( this );	}void TiXmlElement::operator=( const TiXmlElement& base ){	ClearThis();	base.CopyTo( this );}TiXmlElement::~TiXmlElement(){	ClearThis();}void TiXmlElement::ClearThis(){	Clear();	while( attributeSet.First() )	{		TiXmlAttribute* node = attributeSet.First();		attributeSet.Remove( node );		delete node;	}}const char* TiXmlElement::Attribute( const char* name ) const{	const TiXmlAttribute* node = attributeSet.Find( name );	if ( node )		return node->Value();	return 0;}#ifdef TIXML_USE_STLconst std::string* TiXmlElement::Attribute( const std::string& name ) const{	const TiXmlAttribute* node = attributeSet.Find( name );	if ( node )		return &node->ValueStr();	return 0;}#endifconst char* TiXmlElement::Attribute( const char* name, int* i ) const{	const char* s = Attribute( name );	if ( i )	{		if ( s ) {			*i = atoi( s );		}		else {			*i = 0;		}	}	return s;}#ifdef TIXML_USE_STLconst std::string* TiXmlElement::Attribute( const std::string& name, int* i ) const{	const std::string* s = Attribute( name );	if ( i )	{		if ( s ) {			*i = atoi( s->c_str() );		}		else {			*i = 0;		}	}	return s;}#endifconst char* TiXmlElement::Attribute( const char* name, double* d ) const{	const char* s = Attribute( name );	if ( d )	{		if ( s ) {			*d = atof( s );		}		else {			*d = 0;		}	}	return s;}#ifdef TIXML_USE_STLconst std::string* TiXmlElement::Attribute( const std::string& name, double* d ) const{	const std::string* s = Attribute( name );	if ( d )	{		if ( s ) {			*d = atof( s->c_str() );		}		else {			*d = 0;		}	}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产激情一区二区三区桃花岛亚洲| 日韩一区二区中文字幕| 欧美一区二区视频网站| 中文av一区特黄| 首页国产欧美日韩丝袜| 91老师国产黑色丝袜在线| 日韩精品中文字幕一区| 一级做a爱片久久| 国产成人一区二区精品非洲| 91精品在线免费| 亚洲乱码中文字幕| 成人a级免费电影| 久久久久国产精品人| 免费国产亚洲视频| 欧美日韩高清在线播放| 一区二区三区四区高清精品免费观看 | 欧美三日本三级三级在线播放| 国产精品天美传媒沈樵| 国产高清一区日本| 久久久亚洲精品一区二区三区| 日韩中文欧美在线| 欧美日韩国产综合一区二区三区| 亚洲视频一区二区在线| 不卡一区二区三区四区| 国产三级欧美三级日产三级99| 久久97超碰色| 欧美大片在线观看| 看电视剧不卡顿的网站| 欧美一级二级在线观看| 久久成人免费日本黄色| 精品国产电影一区二区| 开心九九激情九九欧美日韩精美视频电影| 亚洲男女毛片无遮挡| 99re在线视频这里只有精品| 国产精品久久久久永久免费观看| 国产成人在线网站| 亚洲欧洲精品一区二区三区| 不卡av电影在线播放| ㊣最新国产の精品bt伙计久久| 成人涩涩免费视频| 亚洲欧美视频一区| 欧美系列日韩一区| 天天色天天爱天天射综合| 在线播放中文一区| 久久er精品视频| 久久久久久久久久美女| 国产成人精品免费网站| 中文字幕一区二区三区四区| 一本到不卡免费一区二区| 亚洲一区在线电影| 欧美一区三区四区| 国产精品456| 最新不卡av在线| 欧美日韩在线三区| 久久国产尿小便嘘嘘| 欧美精品一区二区三区在线播放| 国产伦精品一区二区三区视频青涩| 欧美激情中文字幕| 色婷婷综合久久久| 青青草成人在线观看| 国产亚洲精品7777| 91豆麻精品91久久久久久| 美女网站色91| 亚洲桃色在线一区| 日韩欧美亚洲国产精品字幕久久久 | 亚洲成人先锋电影| 欧美精品一区二区三区久久久| 国产69精品久久777的优势| 亚洲三级在线观看| 欧美不卡一区二区三区| 成人免费视频一区| 免费高清在线视频一区·| 中文字幕国产一区| 91麻豆精品91久久久久同性| www.欧美色图| 久久精品国产成人一区二区三区| 国产精品嫩草久久久久| 欧美一区在线视频| 91久久线看在观草草青青| 久久精品国产亚洲a| 亚洲乱码日产精品bd | 欧美一级高清片| 色婷婷国产精品久久包臀| 久久99国内精品| 一区二区成人在线观看| 国产精品免费网站在线观看| 日韩三级.com| 在线91免费看| 色综合天天视频在线观看| 黄色日韩三级电影| 日韩影院精彩在线| 亚洲国产一区二区三区 | 国产性天天综合网| 欧美一级久久久久久久大片| 国产精品久久福利| 久久精品亚洲精品国产欧美| 欧美一区二区三区免费在线看| 91色九色蝌蚪| 99久久免费视频.com| 国产成人福利片| 精品中文字幕一区二区| 欧美a级理论片| 亚洲成人激情社区| 亚洲成人久久影院| 亚洲一级在线观看| 一区二区三区丝袜| 亚洲人成精品久久久久久| 中文字幕欧美区| 国产三级久久久| 中文字幕不卡在线观看| 国产精品污www在线观看| 久久精品欧美一区二区三区麻豆| 亚洲精品一区二区三区影院 | 91精品国产一区二区三区蜜臀 | 欧美老女人第四色| 欧美体内she精高潮| 色香蕉成人二区免费| 91在线观看污| 色婷婷av一区二区三区软件| 色婷婷av一区二区| 欧美三级日韩三级| 欧美日韩国产在线播放网站| 欧美精三区欧美精三区| 欧洲一区二区三区免费视频| av不卡一区二区三区| 成人性视频免费网站| 成人福利视频在线看| k8久久久一区二区三区| 91美女在线视频| 在线观看日韩一区| 欧美日韩成人综合天天影院 | 91国偷自产一区二区三区观看 | 国产女主播视频一区二区| 欧美国产欧美综合| 亚洲精品伦理在线| 天天综合日日夜夜精品| 久久99日本精品| 国产**成人网毛片九色| 欧美在线一区二区| 欧美va天堂va视频va在线| 中文字幕+乱码+中文字幕一区| 中文字幕一区二区三区色视频| 一区二区高清免费观看影视大全| 伊人一区二区三区| 毛片不卡一区二区| 成人午夜免费电影| 欧美性大战久久久久久久蜜臀| 7777精品久久久大香线蕉 | 日韩精品中文字幕在线一区| 国产午夜亚洲精品不卡| 亚洲欧美一区二区三区国产精品 | 轻轻草成人在线| 国产91精品欧美| 欧美日韩国产天堂| 亚洲国产精华液网站w| 亚洲国产成人av| 粉嫩aⅴ一区二区三区四区五区 | 色噜噜狠狠色综合欧洲selulu| 8x福利精品第一导航| 亚洲欧美综合色| 美国毛片一区二区三区| 色婷婷国产精品综合在线观看| 精品久久久三级丝袜| 一卡二卡欧美日韩| 丁香网亚洲国际| 日韩午夜电影av| 亚洲自拍偷拍麻豆| 国内精品在线播放| 99久久伊人久久99| 欧美变态tickle挠乳网站| 依依成人综合视频| 成人免费高清视频| 精品福利一区二区三区 | 国产精品亚洲成人| 欧美撒尿777hd撒尿| 中文字幕中文字幕一区| 国产乱子轮精品视频| 欧美一区二区播放| 亚洲国产精品影院| 色先锋资源久久综合| 国产精品国产三级国产普通话蜜臀 | 国产成人午夜片在线观看高清观看| 91精品免费在线| 亚洲高清免费在线| 欧美在线播放高清精品| 亚洲欧美经典视频| 91免费国产视频网站| 中文字幕欧美日韩一区| 国产成人精品亚洲日本在线桃色 | 日韩网站在线看片你懂的| 日韩精彩视频在线观看| 欧美特级限制片免费在线观看| 亚洲卡通动漫在线| 91丨九色丨黑人外教| 中文字幕在线不卡一区| 国产激情一区二区三区四区| 国产午夜精品美女毛片视频| 精油按摩中文字幕久久| 国产亚洲成av人在线观看导航 | 国产麻豆精品视频|