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

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

?? markupdlg.cpp

?? 解析xml文件的強大包
?? CPP
?? 第 1 頁 / 共 4 頁
字號:
		_T("<!ATTLIST ITEM note CDATA \"\">\n")
		_T("]>\n")
		_T("<PARSETEST v=\"1\" s=\'6\'>\n")
			_T("<!--- </P>& special chars -->\n")
			_T("<ITEM note=\"Here&apos;s to &quot;us&quot;\"/>\n")
			_T("<ITEM note=\"see data\">Here's to \"us\"</ITEM>\n")
		_T("</PARSETEST>\n")
		;
	Check( xml.SetDoc( csPTDoc ) );
	Check( xml.FindChildElem() );
	Check( xml.GetAttrib( _T("v") ) == _T("1") );
	Check( xml.GetAttribName(0) == _T("v") );
	Check( xml.GetAttribName(1) == _T("s") );
	Check( xml.GetAttribName(2) == _T("") );
	Check( xml.GetChildAttrib(_T("note")) == _T("Here's to \"us\"") );
	Check( xml.IntoElem() );
	Check( xml.FindElem() );
	Check( xml.GetData() == _T("Here's to \"us\"") );

#if ! defined( MARKUP_MSXML )
	// Save Restore Position Test
	StartCheckZone( _T("Save Restore Position Test") );
	xml.SetDoc( NULL );
	xml.AddElem( _T("SavePosTest") );
	Check( ! xml.RestorePos() ); // crash in 6.6 and 7.x when no saved pos yet
	Check( xml.SavePos(_T("\xD7")) ); // crash in 7.0 to 8.2 with non-ASCII
	xml.IntoElem(); // no main position
	xml.SavePos();
	xml.ResetPos();
	xml.RestorePos();
	Check( xml.OutOfElem() );
	Check( xml.GetTagName() == "SavePosTest" );
	CStringArray csaPosNames;
	int nSavePos;
	const int nSavePosTestSize = 100;
	for ( nSavePos=0; nSavePos<nSavePosTestSize; ++nSavePos )
	{
		// Find an unused random name
		CString csPosName;
		while ( 1 )
		{
			int nPosNameLen = RandInt(10)+1;
			for ( int nPosNameChar=0; nPosNameChar<nPosNameLen; ++nPosNameChar )
				csPosName += (_TCHAR)(_T('A')+RandInt(26));
			if ( ! xml.RestorePos(csPosName) )
				break;
		}
		xml.AddChildElem( csPosName );
		xml.SavePos( csPosName );
		csaPosNames.Add( csPosName );
	}
	xml2 = xml;
	xml = xml2;
	for ( nSavePos=0; nSavePos<csaPosNames.GetSize(); ++nSavePos )
	{
		Check( xml.RestorePos(csaPosNames[nSavePos]) );
		Check( xml.GetChildTagName() == (LPCTSTR)csaPosNames[nSavePos] );

		// Move saved position to TEMP2 child
		Check( xml.IntoElem() );
		Check( xml.AddChildElem( _T("TEMP") ) );
		Check( xml.IntoElem() );
		Check( xml.AddChildElem( _T("TEMP2") ) );
		Check( xml.IntoElem() );
		xml.SavePos( csaPosNames[nSavePos] );
		if ( RandInt(2) ) // 1 in 2
			Check( xml.OutOfElem() );
		if ( RandInt(2) ) // 1 in 2
			Check( xml.OutOfElem() );
		if ( nSavePos % 2 )
			xml.RemoveElem();
	}
	for ( nSavePos=0; nSavePos<csaPosNames.GetSize(); ++nSavePos )
	{
		if ( nSavePos % 2 )
			Check( ! xml.RestorePos(csaPosNames[nSavePos]) );
		else
		{
			Check( xml.RestorePos(csaPosNames[nSavePos]) );
			Check( xml.OutOfElem() );
			Check( xml.OutOfElem() );
			Check( xml.GetTagName() == (LPCTSTR)csaPosNames[nSavePos] );
		}
	}

	// Save Restore Example
	int anSomeData[] = { 10, 30, 50, 20, 90, 0 };
	int nD;
	StartCheckZone( _T("Save Restore Example") );
	xml.SetDoc( NULL );
	xml.AddElem( _T("SavePosExample") );
	xml.IntoElem(); // no main position
	xml.AddElem( _T("Total") );
	xml.SavePos( _T("Total") );
	xml.AddElem( _T("Data") );
	xml.SavePos( _T("Data") );
	for ( nD=0; anSomeData[nD]; ++nD )
	{
		xml.RestorePos( _T("Total") );
		xml.SetData( _ttoi(_CSTR(xml.GetData())) + anSomeData[nD] );
		xml.RestorePos( _T("Data") );
		xml.AddChildElem( _T("Value"), anSomeData[nD] );
	}
	xml2.SetDoc( NULL );
	xml2.AddElem( _T("SavePosExample") );
	xml2.IntoElem();
	xml2.AddElem( _T("Total") );
	xml2.AddElem( _T("Data") );
	for ( nD=0; anSomeData[nD]; ++nD )
	{
		xml2.ResetMainPos();
		xml2.FindElem();
		xml2.SetData( _ttoi(_CSTR(xml2.GetData())) + anSomeData[nD] );
		xml2.FindElem();
		xml2.AddChildElem( _T("Value"), anSomeData[nD] );
	}
	Check( xml.GetDoc() == xml2.GetDoc() );

	// Prepend XML Declaration test
	// (not implemented in MSXML because modifying XML Declaration is restricted)
	StartCheckZone( _T("Prepend XML Declaration") );
	Check( ! xml.SetDoc( _T("<?xml version=\"1.0\"?>\r\n") ) );
	Check( xml.AddElem( _T("ROOT") ) );
	Check( xml.IntoElem() );
	Check( xml.AddElem( _T("CHILD") ) );
	xml.ResetPos();
	Check( xml.FindElem( _T("ROOT") ) );
	Check( xml.FindChildElem( _T("CHILD") ) );

	// Copy Constructor Test (not MSXML!)
	StartCheckZone( _T("Copy Constructor Test non-MSXML") );
	xml.SetDoc( NULL );
	xml2 = xml;
	xml.AddElem( _T("R") );
	xml.AddChildElem( _T("C") );
	xml2 = xml;
	xml2.FindChildElem();
	Check( xml2.GetChildTagName() == xml.GetChildTagName() );
	xml.IntoElem();
	xml.SavePos();
	xml.RemoveElem();
	xml2 = xml;
	Check( ! xml2.RestorePos() );

	// Ill-formed Markup Test
	StartCheckZone( _T("Ill-formed Markup Test") );
	Check( ! xml.SetDoc( _T("<P>Hello<BR>Hi") ) );
	Check( xml.FindElem( _T("P") ) );
	Check( xml.FindNode() == xml.MNT_TEXT );
	Check( xml.GetData() == _T("Hello") );
	Check( xml.FindElem( _T("BR") ) );
	Check( xml.FindNode() == xml.MNT_TEXT );
	Check( xml.GetData() == _T("Hi") );
	Check( xml.AddElem( _T("P"), _T("Hola") ) );
	Check( xml.GetData() == _T("Hola") );
	Check( ! xml.SetDoc( _T("<P>Hello<BR>Hi</P>") ) );
	Check( xml.FindElem( _T("P") ) );
	xml.SetDocFlags( xml.MDF_IGNORECASE );
	Check( xml.SetDoc( _T("<A></a>") ) );
	Check( xml.FindElem( _T("a") ) );
	Check( xml.SetAttrib( _T("a1"), _T("V1") ) );
	Check( xml.SetAttrib( _T("A1"), _T("v1") ) );
	Check( ! xml.AddSubDoc( _T("<b>") ) );
	xml.ResetPos();
	Check( xml.FindElem( _T("a") ) );
	Check( xml.GetAttrib(_T("A1")) == _T("v1") );
	Check( xml.GetAttrib(_T("a1")) == _T("v1") );
	Check( xml.FindElem( _T("B") ) );
	xml.SetDocFlags( 0 );
	Check( ! xml.SetDoc( _T("<A><B></C></B></A>") ) );
	Check( xml.FindElem() );
	Check( xml.IntoElem() );
	Check( xml.FindElem( _T("B") ) );
	Check( xml.IntoElem() );
	Check( xml.FindNode() == xml.MNT_LONE_END_TAG );
	Check( xml.GetTagName() == _T("C") );
	Check( xml.GetData() == _T("C") );
	Check( xml.OutOfElem() );
	Check( xml.SetElemContent( _T("data") ) );
	Check( ! xml.InsertSubDoc( _T("<S/><S/>") ) );
	Check( ! xml.SetElemContent( _T("<SC>") ) );
	Check( xml.FindElem( _T("S") ) );

	// Multi-Rooted Subdoc Test
	StartCheckZone( _T("Multi-Rooted Subdoc Test") );
	Check( xml.SetElemContent( _T("<SC><SCC/></SC><SC><SCC/></SC><SC/>") ) );
	Check( xml.FindChildElem( _T("SC") ) );
	Check( xml.SetChildAttrib( _T("asc"), _T("verbose") ) );
	Check( xml.IntoElem() );
	Check( xml.FindChildElem( _T("SCC") ) );
	Check( xml.SetChildAttrib( _T("ascc"), _T("verbose") ) );
	Check( xml.OutOfElem() );
	xml.ResetMainPos();
	Check( xml.FindElem( _T("S") ) );
	Check( xml.FindChildElem( _T("SC") ) );
	Check( xml.SetChildAttrib( _T("asc"), _T("verbose") ) );
	Check( xml.SetChildAttrib( _T("asc2"), 2 ) );
	Check( xml.FindElem( _T("S") ) );
	Check( xml.FindChildElem( _T("SC") ) );
	Check( xml.FindChildElem( _T("SC") ) );
	Check( xml.FindElem( _T("B") ) );

	// Don't mistake end slash on non-quoted value for empty element (see cDminus2)
	StartCheckZone( _T("Non Quoted Attribute Test") );
	Check( xml.SetDoc( _T("<A href=/path/>ok</A>") ) );
	Check( xml.FindElem() );
	Check( xml.GetAttrib(_T("href")) == _T("/path/") );

	// AddElem Flags Test
	StartCheckZone( _T("AddElem Flags Test") );
	xml.SetDoc( NULL );
	xml.AddElem( _T("ROOT"), NULL, xml.MNF_WITHNOLINES );
	xml.AddChildElem( _T("A"), _T(""), xml.MNF_WITHNOEND|xml.MNF_WITHNOLINES );
	Check( xml.IntoElem() );
	Check( xml.AddElem( _T("A"), _T(""), xml.MNF_WITHNOEND ) );
	Check( xml.AddChildElem( _T("B") ) );
	Check( xml.AddChildElem( _T("B"), _T("D") ) );
	Check( xml.OutOfElem() );
	xml.AddChildElem( _T("BR"), _T(""), xml.MNF_WITHXHTMLSPACE );
	xml.SetChildAttrib( _T("class"), _T("MinorBrk") );
	Check( ! xml.SetDoc( _T("<A>test") ) );
	Check( xml.FindElem() );
	Check( xml.FindNode() == xml.MNT_TEXT );
	Check( xml.GetData() == _T("test") );
	Check( ! xml.SetDoc( _T("<A>test\r\n") ) );
	Check( xml.FindElem() );
	Check( xml.FindNode() == xml.MNT_TEXT );
	Check( TruncToLastEOL(_CSTR(xml.GetData())) == _T("test") );
	Check( ! xml.SetDoc( _T("<A>test\r\n  <B>okay") ) );
	Check( xml.FindElem() );
	Check( xml.FindNode() == xml.MNT_TEXT );
	Check( TruncToLastEOL(_CSTR(xml.GetData())) == _T("test") );
	Check( xml.FindElem() );
	Check( xml.FindNode() == xml.MNT_TEXT );
	Check( TruncToLastEOL(_CSTR(xml.GetData())) == _T("okay") );
	xml.ResetMainPos();
	Check( xml.FindElem() );
	Check( xml.SetData(_T("t2")) );
	Check( xml.GetData() == _T("t2") );
	Check( xml.SetData(_T("test3")) );
	Check( xml.GetData() == _T("test3") );
	xml.SetDoc( NULL );
	xml.AddElem( _T("P"), _T(""), xml.MNF_WITHNOLINES );
	xml.IntoElem();
	Check( xml.AddNode( xml.MNT_TEXT, _T("First line") ) );
	Check( xml.AddElem( _T("BR"), _T(""), xml.MNF_WITHNOEND | xml.MNF_WITHNOLINES ) );
	Check( xml.AddNode( xml.MNT_TEXT, _T("Second line") ) );
	Check( xml.GetDoc() == _T("<P>First line<BR>Second line</P>") );
	xml.OutOfElem();
	xml.SetElemContent( _T("First line<BR>Second line") );
	Check( xml.GetDoc() == _T("<P>First line<BR>Second line</P>") );

	// Ill-formed SubDoc Fragment Test
	StartCheckZone( _T("SubDoc Fragment Test") );
	Check( ! xml.SetDoc( _T("<A/><B/>") ) );
	Check( ! xml.SetDoc( _T(" something ") ) );
	Check( ! xml.AddSubDoc( _T("<A>") ) );
	Check( ! xml.AddSubDoc( _T("<B>") ) );
	Check( ! xml.AddSubDoc( _T("</A>") ) ); // lone end tag
	Check( xml.AddSubDoc( _T("<C/>") ) );
	Check( ! xml.SetElemContent( _T("<CC>") ) );
	Check( xml.GetTagName() == _T("C") );
	Check( xml.FindChildElem() );
	Check( xml.GetChildTagName() == _T("CC") );
	Check( xml.SetElemContent( _T("d") ) );
	Check( xml.GetData() == _T("d") );
	Check( ! xml.SetElemContent( _T("<DD>") ) );
	Check( xml.FindChildElem() );
	Check( xml.GetChildTagName() == _T("DD") );

	// Replace element between two text nodes
	StartCheckZone( _T("Replace Element Test") );
	Check( xml.SetDoc( _T("T<A/>T") ) );
	Check( xml.FindElem( _T("A") ) );
	Check( xml.RemoveNode() );
	Check( xml.GetNodeType() == xml.MNT_TEXT );
	Check( xml.GetData() == _T("T") );
	Check( xml.AddNode( xml.MNT_ELEMENT, _T("B") ) );
	Check( xml.SetAttrib( _T("v"), 1 ) );
	Check( xml.GetTagName() == _T("B") );
	Check( xml.GetAttrib( _T("v") ) == _T("1") );
	Check( xml.IntoElem() );
	Check( xml.AddNode( xml.MNT_TEXT, _T("T0") ) );
	Check( xml.AddNode( xml.MNT_ELEMENT, _T("C1") ) );
	Check( xml.AddNode( xml.MNT_TEXT, _T("T1") ) );
	Check( xml.AddNode( xml.MNT_ELEMENT, _T("C2") ) );
	Check( xml.AddNode( xml.MNT_TEXT, _T("T2") ) );
	xml.ResetMainPos();
	Check( xml.FindElem( _T("C1") ) );
	Check( xml.RemoveNode() );
	Check( xml.GetNodeType() == xml.MNT_TEXT );
	Check( xml.GetData() == _T("T0") );
	Check( xml.AddNode( xml.MNT_ELEMENT, _T("C1") ) );
	Check( xml.FindElem( _T("C2") ) );
	Check( xml.RemoveNode() );
	Check( xml.GetNodeType() == xml.MNT_TEXT );
	Check( xml.GetData() == _T("T1") );
	Check( xml.AddNode( xml.MNT_ELEMENT, _T("C2") ) );
	Check( xml.FindNode() == xml.MNT_TEXT );
	Check( xml.GetData() == _T("T2") );
	xml.ResetMainPos();
	Check( xml.FindElem( _T("C2") ) );
	Check( xml.IntoElem() );
	Check( xml.AddNode( xml.MNT_ELEMENT, _T("D3") ) );
	Check( xml.AddNode( xml.MNT_TEXT, _T("T0") ) );
	Check( xml.AddNode( xml.MNT_ELEMENT, _T("D4") ) );
	Check( xml.IntoElem() );
	Check( xml.AddNode( xml.MNT_ELEMENT, _T("E1") ) );
	Check( xml.SetData( _T("X") ) );
	Check( xml.OutOfElem() );
	Check( xml.OutOfElem() );
	xml.ResetMainPos();
	Check( xml.FindElem() );
	Check( xml.GetTagName() == _T("C1") );
	Check( xml.IntoElem() );
	Check( xml.AddNode( xml.MNT_TEXT, _T("T1") ) );
	Check( xml.AddNode( xml.MNT_ELEMENT, _T("D2") ) );
	Check( xml.AddNode( xml.MNT_TEXT, _T("T2") ) );
	xml.ResetMainPos();
	Check( xml.FindElem() );
	Check( xml.GetTagName() == _T("D2") );
	xml.ResetMainPos();
	Check( xml.InsertNode( xml.MNT_ELEMENT, _T("D1") ) );
	Check( xml.InsertNode( xml.MNT_TEXT, _T("TEST") ) );
	Check( xml.SetData( _T("T0") ) );
	Check( xml.FindNode() == xml.MNT_ELEMENT );
	Check( xml.SetData( _T("X") ) );
	Check( xml.FindElem( _T("D2") ) );
	xml.ResetMainPos();
	Check( xml.FindNode() == xml.MNT_TEXT );
	Check( xml.GetData() == _T("T0") );
	Check( xml.OutOfElem() );
	xml.ResetMainPos();
	Check( xml.FindElem( _T("C2") ) );
	Check( xml.IntoElem() );
	Check( xml.FindNode() == xml.MNT_ELEMENT );
	Check( xml.GetTagName() == _T("D3") );
	Check( xml.FindNode() == xml.MNT_TEXT );
	Check( xml.GetData() == _T("T0") );
	Check( xml.FindNode() == xml.MNT_ELEMENT );
	Check( xml.GetTagName() == _T("D4") );
	Check( xml.FindChildElem() );
	Check( xml.GetChildData() == _T("X") );

	// With Entities Test
	StartCheckZone( _T("With Entities Test") );
	xml.SetDoc(NULL);
	Check( xml.AddElem( _T("A"), _T("&#x20;"), xml.MNF_WITHREFS ) );
	Check( xml.GetData() == _T(" ") );
	Check( xml.AddChildElem( _T("CH"), _T("&amp;"), xml.MNF_WITHREFS ) );
	Check( xml.GetChildData() == _T("&") );
	Check( xml.SetChildData( _T("&#32;"), xml.MNF_WITHREFS ) );
	Check( xml.GetChildData() == _T(" ") );
	Check( xml.SetChildData( _T("&"), xml.MNF_WITHREFS ) );
	Check( xml.GetChildData() == _T("&") );
	Check( xml.SetChildData( _T("&&"), xml.MNF_WITHREFS ) );
	Check( xml.GetChildData() == _T("&&") );
	Check( xml.SetChildData( _T("&#3 2"), xml.MNF_WITHREFS ) );
	Check( xml.GetChildData() == _T("&#3 2") );
	Check( xml.EscapeText( _T("&#3 2"), xml.MNF_WITHREFS ) == _T("&amp;#3 2") );
	Check( xml.EscapeText( _T("\""), xml.MNF_ESCAPEQUOTES ) == _T("&quot;") );
	Check( xml.EscapeText( _T("\"") ) == _T("\"") );
	Check( xml.EscapeText( _T("&#32;\'"), xml.MNF_WITHREFS|xml.MNF_ESCAPEQUOTES ) == _T("&#32;&apos;") );

	// Node Error Test -- even gibberish will not stop node navigation
	// But there is no guaranteed node parsing system with gibberish
	StartCheckZone( _T("Node Error Test") );
	Check( ! xml.SetDoc( _T("<) <> <*  ><<>>") ) );
	BOOL bReachedEndOfGibberish = FALSE;
	int nGibberishNodes = 0;
	while ( nGibberishNodes < 100 )
	{
		int nGNType = xml.FindNode();
		if ( nGNType == 0 )
		{
			bReachedEndOfGibberish = TRUE;
			break;
		}
		else if ( nGNType == xml.MNT_NODE_ERROR )
		{
			CString csJunkNode = _CSTR(xml.GetData());
			Check( ! csJunkNode.IsEmpty() );
		}
		++nGibberishNodes;
	}
	Check( bReachedEndOfGibberish );
#endif

	// Character Reference Test, check various character decoding issues
	StartCheckZone( _T("Character Reference Test") );
	Check( xml.SetDoc(
		_T("<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n")
		_T("<CHAR v='C&#34;&#x22;S'>\n")
		_T("<CORE>&#60;&#x3c;&#62;&#x3e;&#38;&#x26;&#39;&#x27;&#34;&#x22;</CORE>\n")
		_T("<SPACE xml:space=\"preserve\">&#32;&#x20;&#9;&#x9;&#10;&#xa;</SPACE>\n")
		_T("<REF>&#20013;&#22269;&#20154;</REF>\n")
		_T("</CHAR>\n")
		) );
	Check( xml.FindChildElem(_T("CORE")) );
	Check( xml.GetAttrib( _T("v") ) == _T("C\"\"S") );
	Check( xml.GetChildData() == _T("<<>>&&''\"\"") );
	Check( xml.FindChildElem(_T("SPACE")) );
	Check( xml.GetChildData() == _T("  \t\t\n\n") );
	Check( xml.FindChildElem(_T("REF")) );
#if defined( _UNICODE )
	Check( xml.GetChildData() == _T("\x4E2D\x56FD\x4EBA") );
#elif defined( _MBCS )
	setlocale( LC_ALL, "C" );
	if ( setlocale(LC_CTYPE,".936") ) // is GB2312 DBCS code page available?
		Check( xml.GetChildData() == _T("\xD6\xD0\xB9\xFA\xC8\xCB") ); // DBCS
	else
		Check( xml.GetChildData() == _T("&#20013;&#22269;&#20154;") ); // unmodified
#elif ! defined( MARKUP_MSXML )
	// UTF-8 (note: MSXML converts chinese character reference to UCS-2, but not UTF-8)
	Check( xml.GetChildData() == _T("\xE4\xB8\xAD\xE5\x9B\xBD\xE4\xBA\xBA") );
#endif

#if defined( _MBCS )

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
91丝袜国产在线播放| 欧美xxxx老人做受| 欧美精品一区二区三| 亚洲欧美一区二区三区久本道91| 日韩国产在线一| 91色在线porny| xfplay精品久久| 男人操女人的视频在线观看欧美| 不卡在线观看av| 久久久国产精品不卡| 美女脱光内衣内裤视频久久影院| 色8久久精品久久久久久蜜| 国产丝袜欧美中文另类| 日本中文一区二区三区| 欧美亚洲国产一区在线观看网站| 国产日韩成人精品| 激情av综合网| 日韩美女视频在线| 日韩精品三区四区| 欧美美女直播网站| 亚洲电影第三页| 欧美午夜精品免费| 依依成人综合视频| 欧美综合天天夜夜久久| 日本在线不卡视频一二三区| 欧美亚洲国产一区二区三区va| 中文字幕在线观看一区| 粉嫩aⅴ一区二区三区四区| 日韩一区二区电影在线| 日本不卡一二三| 日韩一级片在线观看| 美女任你摸久久| 日韩欧美123| 久久精品国产在热久久| 精品国产自在久精品国产| 蜜臀av在线播放一区二区三区| 欧美一级在线观看| 蜜臀av性久久久久蜜臀aⅴ四虎| 欧美电影一区二区| 久久激情五月激情| 欧美精品一区二区三区久久久| 国产乱人伦偷精品视频免下载| 精品国产乱码久久久久久牛牛| 精品一区二区免费| 久久精品夜色噜噜亚洲a∨| 国产一区二区调教| 国产精品传媒视频| 色狠狠桃花综合| 免费成人在线视频观看| 精品久久久网站| av在线一区二区| 亚洲va欧美va人人爽| 日韩欧美卡一卡二| 成人天堂资源www在线| 亚洲免费在线观看| 日韩一区二区在线播放| 国产高清亚洲一区| 一区二区三区四区视频精品免费 | 五月婷婷综合激情| 日韩免费成人网| 99麻豆久久久国产精品免费优播| 亚洲一区精品在线| 亚洲精品在线网站| 色一情一乱一乱一91av| 美女mm1313爽爽久久久蜜臀| 中文字幕乱码一区二区免费| 一本久久精品一区二区| 蜜桃视频在线观看一区| 国产精品色婷婷久久58| 欧美精品久久一区| 国产成人午夜精品5599| 午夜亚洲国产au精品一区二区| 亚洲精品一区二区三区福利| 色综合天天天天做夜夜夜夜做| 青青草91视频| 亚洲精品一二三| 久久久精品国产99久久精品芒果| 在线观看日韩国产| 国产白丝精品91爽爽久久| 亚洲综合一区二区精品导航| 久久免费视频色| 欧美天堂亚洲电影院在线播放| 国产风韵犹存在线视精品| 亚洲国产精品久久艾草纯爱| 国产精品免费aⅴ片在线观看| 日韩视频在线永久播放| www.激情成人| 国产精品一二三四| 婷婷久久综合九色国产成人| 国产精品久久久久影院色老大| 欧美变态口味重另类| 欧美日韩国产影片| 97久久人人超碰| 国产精一品亚洲二区在线视频| 水蜜桃久久夜色精品一区的特点 | 99精品久久只有精品| 免费在线观看不卡| 亚洲国产色一区| 亚洲黄一区二区三区| 国产精品久久一级| 久久亚洲精精品中文字幕早川悠里| 欧美二区乱c少妇| 日本高清无吗v一区| 不卡的电影网站| 成人午夜碰碰视频| 国产精品911| 国产成人综合自拍| 国产精品一区在线| 国产在线观看免费一区| 久久99久久精品欧美| 日本伊人精品一区二区三区观看方式| 亚洲最新在线观看| 亚洲国产精品久久人人爱蜜臀| 中文字幕日本乱码精品影院| 中文字幕av一区二区三区免费看 | 精品制服美女丁香| 亚洲123区在线观看| 日韩在线一区二区| 三级精品在线观看| 日本免费新一区视频| 久久精品噜噜噜成人av农村| 麻豆成人久久精品二区三区小说| 日本在线观看不卡视频| 久久黄色级2电影| 国产一区二区三区久久悠悠色av | 国产欧美1区2区3区| 久久久久国产精品人| 中文字幕欧美日韩一区| 亚洲欧洲一区二区在线播放| 中文字幕亚洲精品在线观看| 亚洲影院理伦片| 全国精品久久少妇| 国产一本一道久久香蕉| 成人午夜电影网站| 在线看日本不卡| 欧美videossexotv100| 亚洲国产精品成人久久综合一区| 亚洲欧洲一区二区三区| 亚洲国产精品久久人人爱 | 精品免费一区二区三区| 国产亚洲精品aa| 亚洲欧美一区二区三区极速播放 | 在线综合+亚洲+欧美中文字幕| 欧美大片一区二区| 日韩美女视频一区二区| 亚洲mv大片欧洲mv大片精品| 久久99在线观看| 色综合中文字幕国产 | 在线观看日韩av先锋影音电影院| 欧美日韩电影在线播放| 久久综合成人精品亚洲另类欧美| 日韩一区日韩二区| 天天影视色香欲综合网老头| 国产成人久久精品77777最新版本| 欧美综合欧美视频| 久久久美女毛片| 午夜精品免费在线| 国产成人在线电影| 欧美另类一区二区三区| 欧美国产日本视频| 日韩国产欧美在线观看| 成人激情动漫在线观看| 日韩欧美电影在线| 一区二区三区蜜桃| 国产91高潮流白浆在线麻豆| 欧美精品日韩综合在线| 综合亚洲深深色噜噜狠狠网站| 日韩二区三区四区| 色婷婷综合久久久久中文 | 成人网在线免费视频| 日韩一卡二卡三卡四卡| 亚洲欧美激情在线| 丁香桃色午夜亚洲一区二区三区| 欧美日本在线播放| 一区二区三区在线免费| 国产成人精品影视| 精品国产制服丝袜高跟| 午夜精品视频一区| 精品视频一区三区九区| 亚洲欧美日韩国产成人精品影院| 国产一区二区三区香蕉| 日韩欧美国产不卡| 日韩成人免费电影| 欧美日韩精品一二三区| 亚洲精品视频在线看| 成人在线综合网站| 国产亚洲综合性久久久影院| 美国毛片一区二区| 欧美挠脚心视频网站| 午夜视频在线观看一区二区| 色综合天天综合网天天看片| 国产精品国产三级国产三级人妇| 国产精品亚洲第一区在线暖暖韩国 | 国产成人免费视| 亚洲国产精品国自产拍av| 豆国产96在线|亚洲| 国产女人18毛片水真多成人如厕 | 久久久噜噜噜久久中文字幕色伊伊 | 成人动漫视频在线| 国产精品每日更新在线播放网址|