锘??xml version="1.0" encoding="utf-8" standalone="yes"?>欧美电影免费观看网站,亚洲视频视频在线,亚洲片区在线http://www.shnenglu.com/yehongly/archive/2008/10/14/63966.html鑼?/dc:creator>鑼?/author>Tue, 14 Oct 2008 08:52:00 GMThttp://www.shnenglu.com/yehongly/archive/2008/10/14/63966.htmlhttp://www.shnenglu.com/yehongly/comments/63966.htmlhttp://www.shnenglu.com/yehongly/archive/2008/10/14/63966.html#Feedback0http://www.shnenglu.com/yehongly/comments/commentRss/63966.htmlhttp://www.shnenglu.com/yehongly/services/trackbacks/63966.html

TinyXML鏄竴涓畝鍗曞皬宸э紝鍙互寰堝鏄撻泦鎴愬埌鍏跺畠紼嬪簭涓殑C++ XML瑙f瀽鍣ㄣ?

瀹冭兘鍋氫簺浠涔?/strong>

綆鍗曞湴璇達紝TinyXML瑙f瀽涓涓猉ML鏂囨。騫剁敱姝ょ敓鎴愪竴涓彲璇誨彲淇敼鍙繚瀛樼殑鏂囨。瀵硅薄妯″瀷錛圖OM錛夈?

XML鐨勬剰鎬濇槸“鍙墿灞曟爣璁拌璦“錛坋Xtensible Markup Language錛夈傚畠鍏佽浣犲垱寤轟綘鑷繁鐨勬枃妗f爣璁般傚湪涓烘祻瑙堝櫒鏍囪鏂囨。鏂歸潰HTML鍋氬緱寰堝ソ錛岀劧鑰孹ML鍏佽浣犲畾涔変換浣曟枃妗f爣璁幫紝姣斿鍙互涓轟竴涓粍緇囪? 搴旂敤紼嬪簭瀹氫箟涓涓弿榪?#8220;to do”鍒楄〃鐨勬枃妗c? XML鎷ユ湁涓涓粨鏋勫寲騫朵笖鏂逛究鐨勬牸寮忥紝鎵鏈変負瀛樺偍搴旂敤紼嬪簭鏁版嵁鑰屽垱寤虹殑闅忔満鏂囦歡鏍煎紡閮藉彲浠ョ敤XML浠f浛錛岃岃繖涓鍒囧彧闇瑕佷竴涓В鏋愬櫒銆?

鏈鍏ㄩ潰姝g‘鐨勮鏄庡彲浠ュ湪http://www.w3.org/TR/2004/REC-xml-20040204/鎵懼埌錛屼絾鍧︾櫧鍦拌錛屽畠寰堟櫐娑╅毦鎳傘備簨瀹炰笂鎴戝枩嬈?a >http://skew.org/xml/tutorial涓婂叧浜嶺ML鐨勪粙緇嶃?

鏈変笉鍚岀殑鏂規(guī)硶鍙互璁塊棶鍜屼笌XML鏁版嵁榪涜浜や簰銆俆inyXML浣跨敤鏂囨。瀵硅薄妯″瀷錛圖OM錛夛紝榪欐剰鍛崇潃XML鏁版嵁琚В鏋愭垚涓涓彲琚祻瑙堝拰鎿嶄綔鐨凜++ 瀵硅薄錛岀劧鍚庡畠鍙互琚啓鍒扮鐩樻垨鑰呭彟涓涓緭鍑烘祦涓備綘涔熷彲浠ユ妸C++瀵硅薄鏋勯犳垚涓涓猉ML鏂囨。鐒跺悗鎶婂畠鍐欏埌紓佺洏鎴栬呭彟涓涓緭鍑烘祦涓?

TinyXML琚璁″緱瀹規(guī)槗蹇熶笂鎵嬨傚畠鍙湁涓や釜澶存枃浠跺拰鍥涗釜cpp鏂囦歡銆傚彧闇瑕佹妸瀹冧滑綆鍗曞湴鍔犲埌浣犵殑欏圭洰涓氨琛屼簡銆傛湁涓涓緥瀛愭枃浠垛斺攛mltest.cpp鏉ュ紩瀵間綘璇ユ庝箞鍋氥?

TinyXML浠lib璁稿彲鏉ュ彂甯冿紝鎵浠ヤ綘鍙互鍦ㄥ紑婧愭垨鑰呭晢涓氳蔣浠朵腑浣跨敤瀹冦傝鍙瘉鏇村叿浣撶殑鎻忚堪鍦ㄦ瘡涓簮浠g爜鏂囦歡鐨勯《閮ㄥ彲浠ユ壘鍒般?

TinyXML鍦ㄤ繚璇佹紜拰鎭板綋鐨刋ML杈撳嚭鐨勫熀紜涓婂皾璇曟垚涓轟竴涓伒媧葷殑瑙f瀽鍣ㄣ俆inyXML鍙互鍦ㄤ換浣曞悎鐞嗙殑C++閫傜敤緋葷粺涓婄紪璇戙傚畠涓嶄緷璧栦簬 寮傚父鎴栬呰繍琛屾椂綾誨瀷淇℃伅錛屾湁娌℃湁STL鏀寔閮藉彲浠ョ紪璇戙俆inyXML瀹屽叏鏀寔UTF-8緙栫爜鍜屽墠64k涓瓧絎﹀疄浣擄紙<i>璇戞敞錛氬鏋滀綘涓嶆槑 鐧借繖鍙ヨ瘧鏂囷紝鍙兘浣犻渶瑕佷簡瑙d竴涓婾nicode緙栫爜</i>錛夈?

瀹冩棤娉曞仛浜涗粈涔?/strong>

TinyXML涓嶈В鏋愪笉浣跨敤DTDs錛堟枃妗g被鍨嬪畾涔夛級鎴栬匵SLs錛堝彲鎵╁睍鏍峰紡琛ㄨ璦錛夈傛湁鍏跺畠瑙f瀽鍣紙鍒皐ww.sourceforge.org 鎼滅儲涓涓媂ML錛夊叿鏈夋洿鍔犲叏闈㈢殑鐗規(guī)э紝浣嗗畠浠篃灝辨洿澶э紝闇瑕佽姳鏇撮暱鐨勬椂闂存潵寤虹珛浣犵殑欏圭洰錛屾湁鏇撮櫋鐨勫涔犳洸綰匡紝鑰屼笖緇忓父鏈変竴涓洿涓ユ牸鐨勮鍙崗璁傚鏋滀綘鏄敤 浜庢祻瑙堝櫒鎴栬呮湁鏇村鏉傜殑XML闇瑕侊紝閭d箞TinyXML涓嶉傚悎浣犮?

涓嬮潰鐨凞TD璇硶鍦═inyXML閲屾槸涓嶅仛瑙f瀽鐨勶細

<!DOCTYPE Archiv [
<!ELEMENT Comment (#PCDATA)>
]>

鍥犱負TinyXML鎶婂畠鐪嬫垚鏄竴涓甫鐫闈炴硶宓屽叆!ELEMENT緇撶偣鐨?DOCTYPE緇撶偣銆傛垨璁歌繖鍦ㄥ皢鏉ヤ細寰楀埌鏀寔銆?

鎸囧崡

鏈夎愭т簺錛岃繖鏄竴浠借兘寰堝ソ鍦版寚瀵間綘鎬庝箞寮濮嬬殑鎸囧崡錛屽畠錛堥潪甯哥煭灝忕簿鎮(zhèn)嶏級鍊煎緱浣犺姳鏃墮棿瀹屾暣鍦拌涓婁竴閬嶃?

浠g爜鐘跺喌

TinyXML鏄垚鐔熶笖緇忚繃嫻嬭瘯鐨勪唬鐮侊紝闈炲父鍋ュ.銆傚鏋滀綘鍙戠幇浜嗘紡媧烇紝璇鋒彁浜ゆ紡媧炴姤鍛婂埌sourcefore緗戠珯涓?錛坵ww.sourceforge.net/projects/tinyxml錛夈?鎴戜滑浼氬敖蹇慨姝c?

鏈変簺鍦版柟鍙互璁╀綘寰楀埌鎻愰珮錛屽鏋滀綘瀵筎inyXML鐨勫伐浣滄劅鍏磋叮鐨勮瘽鍙互涓妔ourceforge鏌ユ壘涓涓嬨?

鐩稿叧欏圭洰

浣犱篃璁鎬細瑙夊緱TinyXML寰堟湁鐢紒錛堢畝浠嬬敱欏圭洰鎻愪緵錛?

  • TinyXPath (http://tinyxpath.sourceforge.net). TinyXPath鏄竴涓皬宸х殑XPath璇硶璇戠爜鍣ㄨ剼鏈紝鐢–++鍐欐垚銆?/li>
  • TinyXML++ (http://code.google.com/p/ticpp/). TinyXML++鏄竴涓叏鏂扮殑TinyXML鎺ュ彛錛屼嬌鐢ㄤ簡璁稿璇稿妯℃澘錛屽紓甯稿鐞嗗拰鏇村ソ鐨勯敊璇鐞嗚繖浜汣++寮洪」鎶鏈?/li>

鐗規(guī)?/strong>

浣跨敤STL

TinyXML鍙互琚紪璇戞垚浣跨敤鎴栦笉浣跨敤STL銆傚鏋滀嬌鐢⊿TL錛孴inyXML浼氫嬌鐢╯td::string綾伙紝鑰屼笖瀹屽叏鏀寔 std::istream錛宻td::ostream錛宱perator<<鍜宱perator>>銆傝澶欰PI鏂規(guī)硶閮芥湁 ‘const char*’鍜?#8217;const std::string&’涓や釜鐗堟湰銆?

濡傛灉琚紪璇戞垚涓嶄嬌鐢⊿TL錛屽垯浠諱綍STL閮戒笉浼氳鍖呭惈銆傛墍鏈塻tring綾婚兘鐢盩inyXML瀹冭嚜宸卞疄鐜般傛墍鏈堿PI鏂規(guī)硶閮藉彧鎻愪緵’const char*’浼犲叆鍙傛暟銆?

浣跨敤榪愯鏃跺畾涔夛細

TIXML_USE_STL

鏉ョ紪璇戞垚涓嶅悓鐨勭増鏈傝繖鍙互浣滀負鍙傛暟浼犵粰緙栬瘧鍣ㄦ垨鑰呭湪“tinyxml.h”鏂囦歡鐨勭涓琛岃繘琛岃緗?

娉ㄦ剰錛氬鏋滃湪Linux涓婄紪璇戞祴璇曚唬鐮侊紝璁劇疆鐜鍙橀噺TINYXML_USE_STL=YES/NO鍙互鎺у埗STL鐨勭紪璇戙傝屽湪Windows涓婏紝 欏圭洰鏂囦歡鎻愪緵浜哠TL鍜岄潪STL涓ょ鐩爣鏂囦歡銆傚湪浣犵殑欏圭洰涓紝鍦╰inyxml.h鐨勭涓琛屾坊鍔?#define TIXML_USE_STL"搴旇鏄渶綆鍗曠殑銆?

UTF-8

TinyXML鏀寔UTF-8錛屾墍浠ュ彲浠ュ鐞嗕換浣曡璦鐨刋ML鏂囦歡錛岃屼笖TinyXML涔熸敮鎸?#8220;legacy妯″紡”鈥斺斾竴縐嶅湪鏀寔UTF-8涔嬪墠浣跨敤鐨勭紪鐮佹柟寮忥紝鍙兘鏈濂界殑瑙i噴鏄?#8220;鎵╁睍鐨刟scii”銆?

姝e父鎯呭喌涓嬶紝TinyXML浼氭嫻嬪嚭姝g‘鐨勭紪鐮佸茍浣跨敤瀹冿紝鐒惰岋紝閫氳繃璁劇疆澶存枃浠朵腑鐨凾IXML_DEFAULT_ENCODING鍊鹼紝TinyXML鍙互琚己鍒舵垚鎬繪槸浣跨敤鏌愪竴縐嶇紪鐮併?

闄ら潪浠ヤ笅鎯呭喌鍙戠敓錛屽惁鍒橳inyXML浼氶粯璁や嬌鐢↙egacy妯″紡錛?

  1. 濡傛灉鏂囦歡鎴栬呮暟鎹祦浠ラ潪鏍囧噯浣嗘櫘閬嶇殑"UTF-8寮曞瀛楄妭" (0xef 0xbb 0xbf)寮濮嬶紝TinyXML浼氫互UTF-8鐨勬柟寮忔潵璇誨彇瀹冦?/li>
  2. 濡傛灉鍖呭惈鏈塭ncoding="UTF-8"鐨勫0鏄庤璇誨彇錛岄偅涔圱inyXML浼氫互UTF-8鐨勬柟寮忔潵璇誨彇瀹冦?/li>
  3. 濡傛灉璇誨彇鍒版病鏈夋寚瀹氱紪鐮佹柟寮忕殑澹版槑錛岄偅涔圱inyXML浼氫互UTF-8鐨勬柟寮忔潵璇誨彇瀹冦?/li>
  4. 濡傛灉鍖呭惈鏈塭ncoding=“鍏跺畠緙栫爜”鐨勫0鏄庤璇誨彇錛岄偅涔圱inyXML浼氫互Legacy妯″紡鏉ヨ鍙栧畠銆傚湪Legacy妯″紡涓嬶紝TinyXML浼氬儚浠ュ墠閭f牱宸ヤ綔錛岃櫧鐒跺凡緇忎笉鏄緢娓呮榪欑妯″紡鏄浣曞伐浣滅殑浜嗭紝浣嗘棫鐨勫唴瀹硅繕寰椾繚鎸佽兘澶熻繍琛屻?/li>
  5. 闄や簡涓婇潰鎻愬埌鐨勬儏鍐碉紝TinyXML浼氶粯璁よ繍琛屽湪Legacy妯″紡涓嬨?/li>

濡傛灉緙栫爜璁劇疆閿欒鎴栬呮嫻嬪埌閿欒浼氬彂鐢熶粈涔堜簨鍛紵TinyXML浼氬皾璇曡煩榪囪繖浜涚湅浼間笉姝g‘鐨勭紪鐮侊紝浣犲彲鑳戒細寰楀埌涓浜涘鎬殑緇撴灉鎴栬呬貢鐮侊紝浣犲彲浠ュ己鍒禩inyXML浣跨敤姝g‘鐨勭紪鐮佹ā寮忋?

閫氳繃浣跨敤LoadFile( TIXML_ENCODING_LEGACY )鎴栬匧oadFile( filename, TIXML_ENCODING_LEGACY )錛? 浣犲彲浠ュ己鍒禩inyXML浣跨敤Legacy妯″紡銆備綘涔熷彲浠ラ氳繃璁劇疆TIXML_DEFAULT_ENCODING = TIXML_ENCODING_LEGACY鏉ュ己鍒朵竴鐩翠嬌鐢↙egacy妯″紡銆傚悓鏍風殑錛屼綘涔熷彲浠ラ氳繃鐩稿悓鐨勬柟娉曟潵寮哄埗璁劇疆鎴? TIXML_ENCODING_UTF8銆?

瀵逛簬浣跨敤鑻辨枃XML鐨勮嫳璇敤鎴鋒潵璇達紝UTF-8璺焞ow-ASCII鏄竴鏍風殑銆備綘涓嶉渶瑕佺煡閬揢TF-8鎴栬呬竴鐐逛篃涓嶉渶瑕佷慨鏀逛綘鐨勪唬鐮併備綘鍙互鎶奤TF-8褰撲綔鏄疉SCII鐨勮秴闆嗐?

UTF-8騫朵笉鏄竴縐嶅弻瀛楄妭鏍煎紡錛屼絾瀹冩槸涓縐嶆爣鍑嗙殑Unicode緙栫爜錛乀inyXML褰撳墠涓嶄嬌鐢ㄦ垨鑰呯洿鎺ユ敮鎸亀char錛孴CHAR錛屾垨鑰呭井杞殑 _UNICODE銆?Unicode"榪欎釜鏈琚櫘閬嶅湴璁や負鎸囩殑鏄疷TF-16錛堜竴縐島nicode鐨勫瀛楄妭緙栫爜錛夋槸涓嶉傚綋鐨勶紝榪欐槸娣鋒穯鐨勬潵婧愩?

瀵逛簬“high-ascii”璇█鏉ヨ鈥斺斿嚑涔庢墍鏈夐潪鑻辮璇█錛屽彧瑕乆ML琚紪鐮佹垚UTF-8錛? TinyXML灝辮兘澶熷鐞嗐傝璧鋒潵鍙兘鏈夌偣寰錛屾瘮杈冩棫鐨勭▼搴忓拰鎿嶄綔緋葷粺瓚嬪悜浜庝嬌鐢?#8220;榛樿”鎴栬?#8220;浼犵粺”鐨勭紪鐮佹柟寮忋傝澶氬簲鐢ㄧ▼搴忥紙鍜屽嚑涔庢墍鏈夌幇鍦ㄧ殑搴旂敤 紼嬪簭錛夐兘鑳藉杈撳嚭UTF-8錛屼絾鏄偅浜涙瘮杈冩棫鎴栬呴毦澶勭悊鐨勶紙鎴栬呭共鑴嗕笉鑳戒嬌鐢ㄧ殑錛夌郴緇熻繕鏄彧鑳戒互榛樿緙栫爜鏉ヨ緭鍑烘枃鏈?

姣斿璇達紝鏃ユ湰鐨勭郴緇熶紶緇熶笂浣跨敤SHIFT-JIS緙栫爜錛岃繖縐嶆儏鍐典笅TinyXML灝辨棤娉曡鍙栦簡銆備絾鏄竴涓ソ鐨勬枃鏈紪杈戝櫒鍙互瀵煎叆SHIFT-JIS鐨勬枃鏈劧鍚庝繚瀛樻垚UTF-8緙栫爜鏍煎紡鐨勩?

Skew.org link涓婂叧浜庤漿鎹㈢紪鐮佺殑璇濋鍋氬緱寰堝ソ銆?

嫻嬭瘯鏂囦歡“utf8test.xml”鍖呭惈浜嗚嫳鏂囥佽タ鐝墮鏂囥佷縿鏂囧拰綆浣撲腑鏂囷紙甯屾湜瀹冧滑閮借兘澶熻姝g‘鍦拌漿鍖栵級銆?#8220;utf8test.gif”鏂囦歡鏄? 浠嶪E涓婃埅鍙栫殑XML鏂囦歡蹇収銆傝娉ㄦ剰濡傛灉浣犵殑緋葷粺涓婃病鏈夋紜殑瀛椾綋錛堢畝浣撲腑鏂囨垨鑰呬縿鏂囷級錛岄偅涔堝嵆浣夸綘姝g‘鍦拌В鏋愪簡涔熺湅涓嶅埌涓嶨IF鏂囦歡涓婁竴鏍風殑杈撳嚭銆傚悓 鏃惰娉ㄦ剰鍦ㄤ竴涓タ鏂圭紪鐮佺殑鎺у埗鍙頒笂錛堣嚦灝戞垜鐨刉indows鏈哄櫒鏄繖鏍鳳級錛孭rint()鎴栬卲rintf()涔熸棤娉曟紜湴鏄劇ず榪欎釜鏂囦歡錛岃繖涓嶅叧 TinyXML鐨勪簨鈥斺旇繖鍙槸鎿嶄綔緋葷粺鐨勯棶棰樸俆inyXML娌℃湁涓㈡帀鎴栬呮崯鍧忔暟鎹紝鍙槸鎺у埗鍙版棤娉曟樉紺篣TF-8鑰屽凡銆?

瀹炰綋

TinyXML璁ゅ緱棰勫畾涔夌殑鐗規(guī)畩“瀛楃瀹炰綋”錛屽嵆錛?

&amp; &
&lt; <
&gt; >
&quot; "
&apos; ‘

榪欎簺鍦╔ML鏂囨。璇誨彇鏃墮兘浼氳杈ㄨ鍑烘潵錛屽茍浼氳杞寲鎴愮瓑浠風殑UTF-8瀛楃銆傛瘮濡備笅闈㈢殑XML鏂囨湰錛?

Far &amp; Away

浠嶵iXmlText 瀵硅薄鏌ヨ鍑烘潵鏃朵細鍙樻垚"Far & Away"榪欐牱鐨勫鹼紝鑰屽啓鍥瀀ML嫻?鏂囦歡鏃朵細浠?#8220;&amp;”鐨勬柟寮忓啓鍥炪傝佺増鏈殑TinyXML“淇濈暀”浜嗗瓧絎﹀疄浣擄紝鑰屽湪鏂扮増鏈腑瀹冧滑浼氳杞寲鎴愬瓧絎︿覆銆?

鍙﹀錛屾墍鏈夊瓧絎﹂兘鍙互鐢ㄥ畠鐨刄nicode緙栫爜鏁板瓧鏉ユ寚瀹氾紝 " "鍜? "閮借〃紺轟笉鍙垎鐨勭┖鏍煎瓧絎︺?

鎵撳嵃

TinyXML鏈夊嚑縐嶄笉鍚岀殑鏂瑰紡鏉ユ墦鍗拌緭鍑猴紝褰撶劧瀹冧滑鍚勬湁鍚勭殑浼樼己鐐廣?

  • Print( FILE* )錛氳緭鍑哄埌涓涓爣鍑咰嫻佷腑錛屽寘鎷墍鏈夌殑C鏂囦歡鍜屾爣鍑嗚緭鍑恒?/li>
    • "鐩稿綋婕備寒鐨勬墦鍗?, 浣嗕綘娌℃硶鎺у埗鎵撳嵃閫夐」銆?/li>
    • 杈撳嚭鏁版嵁鐩存帴鍐欏埌FILE瀵硅薄涓紝鎵浠inyXML浠g爜娌℃湁鍐呭瓨璐熸媴銆?/li>
    • 琚玃rint()鍜孲aveFile()璋冪敤銆?/li>
  • operator<<錛氳緭鍑哄埌涓涓猚++嫻佷腑銆?/li>
    • 涓嶤++ iostreams闆嗘垚鍦ㄤ竴璧楓?/li>
    • 鍦?network printing"妯″紡涓嬭緭鍑烘病鏈夋崲琛岀錛岃繖瀵逛簬緗戠粶浼犺緭鍜孋++瀵硅薄涔嬮棿鐨刋ML浜ゆ崲鏈夊ソ澶勶紝浣嗕漢寰堥毦闃呰銆?/li>
  • TiXmlPrinter錛氳緭鍑哄埌涓涓猻td::string鎴栬呭唴瀛樼紦鍐插尯涓?/li>
    • API榪樹笉鏄緢綆緇冦?/li>
    • 灝嗘潵浼氬鍔犳墦鍗伴夐」銆?/li>
    • 鍦ㄥ皢鏉ョ殑鐗堟湰涓彲鑳芥湁浜涚粏寰殑鍙樺寲錛屽洜涓哄畠浼氳鏀硅繘鍜屾墿灞曘?/li>

嫻?/strong>

璁劇疆浜員IXML_USE_STL錛孴inyXML灝辮兘鏀寔C++嫻侊紙operator <<錛?gt;>錛夊拰C錛團ILE*錛夋祦銆備絾瀹冧滑涔嬮棿鏈変簺宸紓浣犻渶瑕佺煡閬擄細

C椋庢牸杈撳嚭錛?

  • 鍩轟簬FILE*
  • 鐢≒rint()鍜孲aveFile()鏂規(guī)硶

鐢熸垚鍏鋒湁寰堝絀烘牸鐨勬牸寮忓寲榪囩殑杈撳嚭錛岃繖鏄負浜嗗敖鍙兘璁╀漢鐪嬪緱鏄庣櫧銆傚畠浠潪甯稿揩錛岃屼笖鑳藉瀹瑰繊XML鏂囨。涓殑鏍煎紡閿欒銆備緥濡備竴涓猉ML鏂囨。鍖呭惈涓や釜鏍瑰厓绱犲拰涓や釜澹版槑浠嶇劧鑳借鎵撳嵃鍑烘潵銆?

C椋庢牸杈撳叆錛?/p>

  • 鍩轟簬FILE*
  • 鐢≒arse()鍜孡oadFile()鏂規(guī)硶

閫熷害蹇紝瀹歸敊鎬уソ銆傚綋浣犱笉闇瑕丆++嫻佹椂灝卞彲浠ヤ嬌鐢ㄥ畠銆?

C++椋庢牸杈撳嚭錛?

  • 鍩轟簬std::ostream
  • operator<<

鐢熸垚鍘嬬緝榪囩殑杈撳嚭錛岀洰鐨勬槸涓轟簡渚夸簬緗戠粶浼犺緭鑰屼笉鏄負浜嗗彲璇繪с傚畠鍙兘鏈変簺鎱紙鍙兘涓嶄細錛夛紝榪欎富瑕佽窡浣犵郴緇熶笂ostream綾葷殑瀹炵幇鏈夊叧銆傛棤娉曞蹇嶆牸寮忛敊璇殑XML錛氭鏂囨。鍙兘鍖呭惈涓涓牴鍏冪礌銆傚彟澶栨牴綰у埆鐨勫厓绱犳棤娉曚互嫻佸艦寮忚緭鍑恒?

C++椋庢牸杈撳叆錛?

  • 鍩轟簬std::istream
  • operator>>

浠庢祦涓鍙朮ML浣垮叾鍙敤浜庣綉緇滀紶杈撱傞氳繃浜涘皬鎶宸э紝瀹冪煡閬撳綋XML鏂囨。璇誨彇瀹屾瘯鏃訛紝嫻佸悗闈㈢殑灝變竴瀹氭槸鍏跺畠鏁版嵁浜嗐俆inyXML鎬誨亣瀹氬綋瀹冭鍙栧埌 鏍圭粨鐐瑰悗XML鏁版嵁灝辯粨鏉熶簡銆傛崲鍙ヨ瘽璇達紝閭d簺鍏鋒湁涓嶆涓涓牴鍏冪礌鐨勬枃妗f槸鏃犳硶琚紜鍙栫殑銆傚彟澶栬繕瑕佹敞鎰忕敱浜嶴TL鐨勫疄鐜板拰TinyXML鐨勯檺 鍒訛紝operator>>浼氭瘮Parse鎱竴浜涖?

絀烘牸

瀵規(guī)槸淇濈暀榪樻槸鍘嬬緝絀烘牸榪欎竴闂浜轟滑榪樻病杈炬垚鍏辮瘑銆備婦涓緥瀛愶紝鍋囪‘_’浠h〃涓涓┖鏍鹼紝瀵逛簬"Hello____world"錛孒TML鍜屾煇浜沊ML 瑙f瀽鍣ㄤ細瑙i噴鎴?Hello_world"錛屽畠浠帇緙╂帀浜嗕竴浜涚┖鏍箋傝屾湁浜沊ML瑙f瀽鍣ㄥ嵈涓嶄細榪欐牱錛屽畠浠細淇濈暀絀烘牸錛屼簬鏄氨鏄? “Hello____world”錛堣浣廮琛ㄧず涓涓┖鏍鹼級銆傚叾瀹冪殑榪樺緩璁甠_Hello___world__搴旇鍙樻垚Hello___world 銆?

榪欐槸涓涓В鍐沖緱涓嶈兘璁╂垜婊℃剰鐨勯棶棰樸俆inyXML涓寮濮嬪氨涓ょ鏂瑰紡閮芥敮鎸併傝皟鐢═iXmlBase::SetCondenseWhiteSpace( bool )鏉ヨ緗綘鎯寵鐨勭粨鏋滐紝榛樿鏄帇緙╂帀澶氫綑鐨勭┖鏍箋?

濡傛灉鎯寵鏀瑰彉榛樿琛屼負錛屼綘搴旇鍦ㄨВ鏋愪換浣昘ML鏁版嵁涔嬪墠璋冪敤TiXmlBase::SetCondenseWhiteSpace( bool ) 錛岃屼笖鎴戜笉寤鴻璁劇疆涔嬪悗鍐嶅幓鏀瑰姩瀹冦?

鍙ユ焺

鎯寵鍋ュ.鍦拌鍙栦竴涓猉ML鏂囨。錛屾鏌ユ柟娉曡皟鐢ㄥ悗鐨勮繑鍥炲兼槸鍚︿負null鏄緢閲嶈鐨勩備竴縐嶅畨鍏ㄧ殑媯閿欏疄鐜板彲鑳戒細浜х敓鍍忚繖鏍風殑浠g爜錛?

TiXmlElement* root = document.FirstChildElement( "Document" );
if ( root )
{
    TiXmlElement* element = root->FirstChildElement( "Element" );
    if ( element )
    {
        TiXmlElement* child = element->FirstChildElement( "Child" );
        if ( child )
        {
            TiXmlElement* child2 = child->NextSiblingElement( "Child" );
            if ( child2 )
            {
                // Finally do something useful.

鐢ㄥ彞鏌勭殑璇濆氨涓嶄細榪欎箞鍐楅暱浜嗭紝浣跨敤TiXmlHandle綾伙紝鍓嶉潰鐨勪唬鐮佸氨浼氬彉鎴愯繖鏍鳳細

TiXmlHandle docHandle( &document );
TiXmlElement* child2 = docHandle.FirstChild( "Document" ).FirstChild( "Element" ).Child( "Child", 1 ).ToElement();
if ( child2 )
{
    // do something useful

榪欏鐞嗚搗鏉ュ鏄撳浜嗐?鏌ラ槄TiXmlHandle鍙互寰楀埌鏇村鐨勪俊鎭?

琛屽垪榪借釜

瀵逛簬鏌愪簺搴旂敤紼嬪簭鏉ヨ錛岃兘澶熻拷韙妭鐐瑰拰灞炴у湪瀹冧滑婧愭枃浠朵腑鐨勫師濮嬩綅緗槸寰堥噸瑕佺殑銆傚彟澶栵紝鐭ラ亾瑙f瀽閿欒鍦ㄦ簮鏂囦歡涓殑鍙戠敓浣嶇疆鍙互鑺傜渷澶ч噺鏃墮棿銆?

TinyXML鑳藉榪借釜鎵鏈夌粨鐐瑰拰灞炴у湪鏂囨湰鏂囦歡涓殑琛屽垪鍘熷浣嶇疆銆俆iXmlBase::Row() 鍜? TiXmlBase::Column() 鏂規(guī)硶榪斿洖緇撶偣鍦ㄦ簮鏂囦歡涓殑鍘熷浣嶇疆銆傛紜殑鍒惰〃絎﹀彿鍙互緇忕敱TiXmlDocument::SetTabSize() 鏉ラ厤緗?

浣跨敤涓庡畨瑁?/strong>

緙栬瘧涓庤繍琛寈mltest錛?

鎻愪緵浜嗕竴涓狶inux Makefile鍜屼竴涓猈indows Visual C++ .dsw 鏂囦歡銆傚彧闇瑕佺畝鍗曞湴緙栬瘧鍜岃繍琛岋紝瀹冨氨浼氬湪浣犵殑紓佺洏涓婄敓鎴恉emotest.xml鏂囦歡騫跺湪灞忓箷涓婅緭鍑恒傚畠榪樺皾璇曠敤涓嶅悓鐨勬柟娉曢亶鍘咲OM騫舵墦鍗板嚭緇撶偣鏁般?

閭d釜Linux makefile寰堥氱敤錛屽彲浠ヨ繍琛屽湪寰堝緋葷粺涓娾斺斿畠鐩墠宸茬粡鍦╩ingw鍜孧acOSX涓婃祴璇曡繃銆備綘涓嶉渶瑕佽繍琛?‘make depend’錛屽洜涓洪偅浜涗緷璧栧叧緋誨凡緇忕‖緙栫爜鍦ㄦ枃浠墮噷浜嗐?

鐢ㄤ簬VC6鐨刉indows欏圭洰鏂囦歡

  • tinyxml錛?tinyxml 搴擄紝闈濻TL
  • tinyxmlSTL錛?tinyxml 搴擄紝STL
  • tinyXmlTest錛?鐢ㄤ簬嫻嬭瘯鐨勫簲鐢ㄧ▼搴忥紝闈濻TL
  • tinyXmlTestSTL錛?鐢ㄤ簬嫻嬭瘯鐨勫簲鐢ㄧ▼搴忥紝STL

Makefile

鍦╩akefile鐨勯《閮ㄤ綘鍙互璁劇疆錛?

PROFILE錛孌EBUG錛屽拰TINYXML_USE_STL銆俶akefile閲屾湁鍏蜂綋鎻忚堪銆?

鍦╰inyxml鐩綍杈撳叆“make clean”鐒跺悗“make”錛屽氨鍙互鐢熸垚鍙墽琛岀殑“xmltest”鏂囦歡銆?

鍦ㄦ煇涓搴旂敤紼嬪簭涓嬌鐢細

鎶妕inyxml.cpp錛宼inyxml.h錛?tinyxmlerror.cpp錛?tinyxmlparser.cpp錛? tinystr.cpp錛?鍜?tinystr.h 娣誨姞鍒頒綘鐨勯」鐩拰makefile涓傚氨榪欎箞綆鍗曪紝瀹冨彲浠ュ湪浠諱綍鍚堢悊鐨凜++閫傜敤緋葷粺涓婄紪璇戙備笉闇瑕佷負TinyXML鎵撳紑寮傚父鎴栬呰繍琛屾椂綾誨瀷淇℃伅鏀寔銆?

TinyXML鎬庝箞宸ヤ綔

涓句釜渚嬪瓙鍙兘鏄渶濂界殑鍔炴硶錛岀悊瑙d竴涓嬶細

<?xml version="1.0" standalone=no>
<!– Our to do list data –>
<ToDo>
<Item priority="1"> Go to the <bold>Toy store!</bold></Item>
<Item priority="2"> Do bills</Item>
</ToDo>

瀹冪О涓嶄笂鏄竴涓猅o Do鍒楄〃錛屼絾瀹冨凡緇忚凍澶熶簡銆傚儚涓嬮潰榪欐牱璇誨彇騫惰В鏋愯繖涓枃浠訛紙鍙?#8220;demo.xml”錛変綘灝辮兘鍒涘緩涓涓枃妗o細

TiXmlDocument doc( "demo.xml" );
doc.LoadFile();

鐜板湪瀹冨噯澶囧ソ浜嗭紝璁╂垜浠湅鐪嬪叾涓殑鏌愪簺琛屽拰瀹冧滑鎬庝箞涓嶥OM鑱旂郴璧鋒潵銆?

<?xml version="1.0" standalone=no>

絎竴琛屾槸涓涓0鏄庯紝瀹冧細杞寲鎴怲iXmlDeclaration 綾伙紝鍚屾椂涔熸槸鏂囨。緇撶偣鐨勭涓涓瓙緇撶偣銆?

榪欐槸TinyXML鍞竴鑳藉瑙f瀽鐨勬寚浠?鐗規(guī)畩鏍囩銆備竴鑸潵璇存寚浠ゆ爣絳句細淇濆瓨鍦═iXmlUnknown 浠ヤ繚璇佸湪瀹冧繚瀛樺洖紓佺洏鏃朵笉浼氫涪澶辮繖浜涘懡浠ゃ?

<!– Our to do list data –>

榪欐槸涓涓敞閲婏紝浼氭垚涓轟竴涓猅iXmlComment瀵硅薄銆?

<ToDo>

"ToDo"鏍囩瀹氫箟浜嗕竴涓猅iXmlElement 瀵硅薄銆傚畠娌℃湁浠諱綍灞炴э紝浣嗗寘鍚彟澶栫殑涓や釜鍏冪礌銆?

<Item priority="1">

鐢熸垚鍙︿竴涓猅iXmlElement瀵硅薄錛屽畠鏄?#8220;ToDo”鍏冪礌鐨勫瓙緇撶偣銆傛鍏冪礌鏈変竴涓悕涓?#8220;priority”鍜屽間負“1”鐨勫睘鎬с?

Go to the

TiXmlText 錛岃繖鏄竴涓彾瀛愮粨鐐癸紝瀹冧笉鑳藉啀鍖呭惈鍏跺畠緇撶偣錛屾槸"Item" TiXmlElement鐨勫瓙緇撶偣銆?

<bold>

鍙︿竴涓猅iXmlElement, 榪欎篃鏄?#8220;Item”鍏冪礌鐨勫瓙緇撶偣銆?

絳夌瓑

鏈鍚庯紝鐪嬬湅鏁翠釜瀵硅薄鏍戯細

TiXmlDocument "demo.xml"
TiXmlDeclaration "version=’1.0′" "standalone=no"
TiXmlComment " Our to do list data"
TiXmlElement "ToDo"
TiXmlElement "Item" Attribtutes: priority = 1
TiXmlText "Go to the "
TiXmlElement "bold"
TiXmlText "Toy store!"
TiXmlElement "Item" Attributes: priority=2
TiXmlText "Do bills"

鏂囨。

鏈枃妗g敱Doxygen浣跨敤‘dox’閰嶇疆鏂囦歡鐢熸垚銆?

璁稿彲璇?/strong>

TinyXML鍩轟簬zlib璁稿彲璇佹潵鍙戝竷錛?

鏈蔣浠舵寜“鐜扮姸”鎻愪緵錛堝嵆鐜板湪浣犵湅鍒扮殑鏍峰瓙錛夛紝涓嶅仛浠諱綍鏄庣‘鎴栭殣鏅︾殑淇濊瘉銆傜敱浣跨敤姝よ蔣浠舵墍寮曡搗鐨勪換浣曟崯澶遍兘鍐充笉鍙兘鐢變綔鑰呮壙鎷呫?

鍙閬靛驚涓嬮潰鐨勯檺鍒訛紝灝卞厑璁鎬換浣曚漢鎶婅繖杞歡鐢ㄤ簬浠諱綍鐩殑錛屽寘鎷晢涓氳蔣浠訛紝涔熷厑璁鎬慨鏀瑰畠騫惰嚜鐢卞湴閲嶆柊鍙戝竷錛?

1. 鍐充笉鑳借櫄鎶ヨ蔣浠剁殑鏉ユ簮錛涗綘鍐充笉鑳藉0縐版槸浣犳槸杞歡鐨勭涓浣滆呫傚鏋滀綘鍦ㄦ煇涓駭鍝佷腑浣跨敤浜嗚繖涓蔣浠訛紝閭d箞鍦ㄤ駭鍝佹枃妗d腑鍔犲叆涓涓嚧璋㈣緸鎴戜滑浼氬緢鎰熸縺錛屼絾榪欏茍闈炲繀瑕併?

2. 淇敼浜嗘簮鐗堟湰灝卞簲璇ユ竻妤氬湴鏍囪鍑烘潵錛屽喅涓嶈兘铏氭姤璇磋繖鏄師濮嬭蔣浠躲?

3. 鏈氬憡涓嶈兘浠庢簮鍙戝竷鐗堟湰涓Щ闄ゆ垨鍋氫慨鏀廣?

鍙傝冧功鐩?/strong>

涓囩淮緗戣仈鐩熸槸瀹氬埗XML鐨勬潈濞佹爣鍑嗘満鏋勶紝瀹冪殑緗戦〉涓婃湁澶ч噺鐨勪俊鎭?

鏉冨▉鎸囧崡錛?a >http://www.w3.org/TR/2004/REC-xml-20040204/

鎴戣繕瑕佹帹鑽愮敱O(jiān)Reilly鍑虹増鐢盧obert Eckstein鎾板啓鐨?XML Pocket Reference"……榪欐湰涔﹀泭鎷簡鍏ラ棬鎵闇瑕佺殑涓鍒囥?

鎹愬姪鑰咃紝鑱旂郴浜猴紝榪樻湁綆鍙?/strong>

闈炲父鎰熻阿緇欐垜浠緩璁紝婕忔礊鎶ュ憡錛屾剰瑙佸拰榧撳姳鐨勬墍鏈変漢銆傚畠浠緢鏈夌敤錛屽茍涓斾嬌寰楄繖涓」鐩彉寰楁湁瓚c傜壒鍒劅璋㈤偅浜涙崘鍔╄咃紝鏄粬浠榪欎釜緗戠珯欏甸潰鐢熸満鍕冨媰銆?

鏈夊緢澶氫漢鍙戞潵婕忔礊鎶ュ憡鍜屾剰瑙侊紝涓庡叾鍦ㄨ繖閲屼竴涓鍒楀嚭鏉ヤ笉濡傛垜浠瘯鐫鎶婂畠浠啓鍒?#8220;changes.txt”鏂囦歡涓姞浠ヨ禐鎵?

TinyXML鐨勫師浣滆呮槸Lee Thomason(鏂囨。涓繕緇忓父鍑虹幇“鎴?#8221;榪欎釜璇? 銆傚湪Yves Berquin錛孉ndrew Ellerton錛屽拰tinyXml紺懼尯鐨勫府鍔╀笅錛孡ee鏌ラ槄淇敼鍜屽彂甯冩柊鐗堟湰銆?

鎴戜滑浼氬緢鎰熸縺浣犵殑寤鴻錛岃繕鏈夋垜浠兂鐭ラ亾浣犳槸鍚﹀湪浣跨敤TinyXML銆傚笇鏈涗綘鍠滄瀹冨茍瑙夊緱瀹冨緢鏈夌敤銆傝閭瘎闂錛岃瘎璁猴紝婕忔礊鎶ュ憡緇欐垜浠紝鎴栬呬綘涔熷彲鐧誨綍緗戠珯涓庢垜浠彇寰楄仈緋伙細

www.sourceforge.net/projects/tinyxml

Lee Thomason錛?Yves Berquin錛?Andrew Ellerton





]]>
Tinyxml浣跨敤鍏ラ棬鎵嬭http://www.shnenglu.com/yehongly/archive/2008/09/19/62249.html鑼?/dc:creator>鑼?/author>Fri, 19 Sep 2008 02:36:00 GMThttp://www.shnenglu.com/yehongly/archive/2008/09/19/62249.htmlhttp://www.shnenglu.com/yehongly/comments/62249.htmlhttp://www.shnenglu.com/yehongly/archive/2008/09/19/62249.html#Feedback0http://www.shnenglu.com/yehongly/comments/commentRss/62249.htmlhttp://www.shnenglu.com/yehongly/services/trackbacks/62249.htmlhttp://www.dingge.com/forum/dispbbs.asp?boardID=43&ID=14213&page=1

鏈 榪戝湪鍑嗗緇欒嚜宸辯殑GUI緋葷粺鍔犲叆XML瑙f瀽閮ㄥ垎錛屽氨寮濮嬬爺絀禩inyxml錛屽樊浜嗕笉灝戣祫鏂欙紝鐪嬩簡緗戝弸鐨勪緥棰樿繕鏈塗inyxml鏈韓鑷甫鐨勮寖渚嬬▼搴忋傚緱鍒頒簡 寰堝ぇ鐨勫惎鍙戯紝寰椾箣浣欐皯鑰岀敤涔嬩簬姘戯紝鎴戞暣鐞嗕簡涓涓嬬畝鍗曠殑鍏ラ棬紼嬪簭緇欏ぇ瀹訛紝鎯沖繀澶у鐪嬪畬榪欎袱縐嶈皟鐢ㄦ柟寮忓氨浼氱敤Tinyxml浜嗐?/p>

灝變笉璇村簾璇濅簡錛岀洿鎺ョ湅紼嬪簭錛?/p>

涓ょ涓嶅悓鐨勪唬鐮佸師鍥犳槸瀵瑰簲涓嶅悓鐨刋ML鏍煎紡銆傛垜浠厛鐪嬬涓縐嶆牸寮忕殑XML鏂囦歡錛圱inyxml鑷甫渚嬮錛?/p>

------------------------------------------------------------------------------------------------------------------------
<?xml version="1.0" encoding="UTF-8"?>
<document>
    <English name="MY" value="UTF32">The world has many languages</English>
    <Button name="OK_btn" x = "20" y = "77">OK</Button>
</document>
-------------------------------------------------------------------------------------------------------------------------

#include "..\Tinyxml\tinyxml.h"
#include <iostream>
#include <string>
int main(void)
{
 TiXmlDocument doc( "test2.xml");
 doc.LoadFile();

 TiXmlHandle docH( &doc );
 TiXmlElement* element = docH.FirstChildElement( "document" ).FirstChildElement( "Button" ).Element();
 std::cout<<"<"<<element->Value()<<">"<<std::endl;
 std::cout<<"   name = "<<element->Attribute( "name" )<<std::endl;
 std::cout<<"   x = "<< element->Attribute( "x" )<<std::endl;
 std::cout<<"   y = "<< element->Attribute( "y" )<<std::endl;
 std::cout<<"   Text = "<<element->GetText()<<std::endl;

 getchar();
 return 0;

}

 榪欎簺浠g爜鎴戞兂宸茬粡寰堟竻妤氫簡錛屾墍鏈夌殑鍏冪礌鐨勫奸兘浼氭墦鍗板湪灞忓箷涓婏紝濡備笅錛?/p>

<Button>
   name = OK_btn
   x = 20
   y = 77
   Text = OK

   榪欓噷鐨別lement 鎸囬拡灝辨槸褰撳墠鎴戜滑鎿嶄綔鐨勬寚閽堬紝閫氳繃docH.FirstChildElement( "document" ).FirstChildElement( "Button" ).Element();鏂規(guī)硶鎴戜滑鑾峰彇浜嗚瀵繪壘鐨凚utton榪欎釜鍏冪礌鐨勬寚閽堬紝鐒跺悗瀹冪殑鍏冪礌灝卞彲浠ラ氳繃element->Attribute( "name" )錛沞lement->Attribute( "x" )鏉ュ緱鍒頒簡錛屼嬌鐢ㄩ潪甯告柟渚褲?/p>

Tinyxml涓繕鏈夊彟澶栦竴縐嶆煡鎵懼厓绱犵殑鏂瑰紡錛屽叾瀵瑰簲鐨刋ML鏍煎紡涔熸槸涓嶅悓鐨勶紝榪欑鏍煎紡濡備笅錛堜互涓嬬洿鎺ュ熺敤浜嗙綉鍙嬬殑渚嬪瓙錛夛細

<?xml version="1.0" encoding="UTF-8"?>
<persons>
<student>
   <stu_name>hami</stu_name>
   <stu_age>15</stu_age>
   <stu_sex>鐢?lt;/stu_sex>
</student>
<teacher>
   <tea_name>alin</tea_name>
   <tea_age>16</tea_age>
   <tea_sex>濂?lt;/tea_sex>
</teacher>
</persons>

readXmlElement.cpp

#pragma comment(lib,"tinyxml.lib")
#include "tinyxml.h"
#include <iostream>
#include <string>
#define TIXML_USE_STL
int main(void)
{
TiXmlDocument *personDoc = new TiXmlDocument;
personDoc->LoadFile("test.xml");
TiXmlElement *personElement = personDoc->RootElement();
std::cout<<personElement->Value()<<std::endl;
TiXmlElement *student = personElement->FirstChildElement();
std::cout<<" "<<student->Value()<<std::endl;
TiXmlElement *nameElement = student->FirstChildElement();
std::cout<<"    "<<nameElement->Value();//<<std::endl;
//std::cout<<"    "<<nameElement->GetText()<<std::endl;
TiXmlElement *ageElement = nameElement->NextSiblingElement();
std::cout<<"    "<<ageElement->Value()<<std::endl;
TiXmlElement *sexElement = ageElement->NextSiblingElement();
std::cout<<"    "<<sexElement->Value()<<std::endl;
TiXmlElement *teacher = student->NextSiblingElement();
std::cout<<" "<<teacher->Value()<<std::endl;
TiXmlElement *teaNameElement = teacher->FirstChildElement();
std::cout<<"    "<<teaNameElement->Value()<<std::endl;
TiXmlElement *teaAgeElement = teaNameElement->NextSiblingElement();
std::cout<<"    "<<teaAgeElement->Value()<<std::endl;
TiXmlElement *teaSexElement = teaAgeElement->NextSiblingElement();
std::cout<<"    "<<teaSexElement->Value()<<std::endl;
return 0;
}

濡傛灉鐪嬫噦浜嗙涓涓緥瀛愶紝榪欎釜渚嬪瓙灝遍潪甯稿ソ鎳備簡銆備笉鐢ㄨ浠涔堬紝杈撳嚭浠ュ悗絳旀閮藉湪灞忓箷涓娿?/p>

鍦ㄧ湡姝g殑tinyxml浣跨敤榪囩▼涓紝寰寰鏄繖涓ょ鏂瑰紡鐨勭粍鍚堜嬌鐢紝澶у鏁版父鎴忎腑鐨刋ML閮芥瘮杈冨鏉傦紝鍏冪礌鐨勫眰嬈′篃寰堝錛屾墍浠ュぇ瀹墮氳繃綆鍗曠殑浜嗚В浠ュ悗錛屾洿澶氱殑榪樿闈犺嚜宸卞幓緇冧範錛屽湪瀹炶返涓彁楂樸傚鏋滄湁浠涔堢枒闂垨鑰呰璁虹殑錛屽彲浠ュ湪榪欓噷鐣欒█錛屽笇鏈涘ぇ瀹跺澶氫氦嫻侊紒




]]>瀹炴垬TinyXMLhttp://www.shnenglu.com/yehongly/archive/2008/09/16/61932.html鑼?/dc:creator>鑼?/author>Tue, 16 Sep 2008 01:02:00 GMThttp://www.shnenglu.com/yehongly/archive/2008/09/16/61932.htmlhttp://www.shnenglu.com/yehongly/comments/61932.htmlhttp://www.shnenglu.com/yehongly/archive/2008/09/16/61932.html#Feedback0http://www.shnenglu.com/yehongly/comments/commentRss/61932.htmlhttp://www.shnenglu.com/yehongly/services/trackbacks/61932.html闃呰鍏ㄦ枃

]]>
C++瑙f瀽XML(From:C++ front)http://www.shnenglu.com/yehongly/archive/2008/09/12/61678.html鑼?/dc:creator>鑼?/author>Fri, 12 Sep 2008 06:12:00 GMThttp://www.shnenglu.com/yehongly/archive/2008/09/12/61678.htmlhttp://www.shnenglu.com/yehongly/comments/61678.htmlhttp://www.shnenglu.com/yehongly/archive/2008/09/12/61678.html#Feedback0http://www.shnenglu.com/yehongly/comments/commentRss/61678.htmlhttp://www.shnenglu.com/yehongly/services/trackbacks/61678.htmlhttp://blog.csdn.net/amidiot/archive/2005/09/11/477335.aspx

鐢╩ingw32-make鍓嶄慨鏀逛竴涓媘akefile鏂囦歡,鏀逛負濡備笅

# DEBUG can be set to YES to include debugging info, or NO otherwise(涓嶆槸DEBUG)
DEBUG          := NO

# PROFILE can be set to YES to include profiling info, or NO otherwise
PROFILE        := NO

# TINYXML_USE_STL can be used to turn on STL support. NO, then STL
# will not be used. YES will include the STL files.(浣跨敤STL,閫夋嫨鐨勮瘽錛屽垯鍙互浣跨敤std::string)
TINYXML_USE_STL := YES


寮犲紱<zhangchi(at)china.com>

娉?鏈枃鐨勬渶鏂扮増鏈彲浠ュ湪涓嬮潰鐨勫湴鍧鎵懼埌
       http://amidiot.512j.com/article/tinyxml/tinyxml_note.htm

涓銆?span style="font-family: "Times New Roman"; font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-size-adjust: none; font-stretch: normal;">      TinyXml鐨勭壒鐐?/span>

TinyXml鏄竴涓熀浜?/span>DOM妯″瀷鐨勩侀潪楠岃瘉鐨勮交閲忕駭C++瑙i噴鍣ㄣ?/span>

1.      SAX鍜?/span>DOM

鐩墠XML鐨勮В鏋愪富瑕佹湁涓ゅぇ妯″瀷錛?/span>SAX鍜?/span>DOM銆?/span>

鍏朵腑SAX鏄熀浜庝簨浠剁殑錛屽叾鍩烘湰宸ヤ綔嫻佺▼鏄垎鏋?/span>XML鏂囨。錛屽綋鍙戠幇浜嗕竴涓柊鐨勫厓绱犳椂錛屼駭鐢熶竴涓搴斾簨浠訛紝騫惰皟鐢ㄧ浉搴旂殑鐢ㄦ埛澶勭悊鍑芥暟銆傝繖縐嶆柟寮忓崰鐢ㄥ唴瀛樺皯錛岄熷害蹇紝浣嗙敤鎴風▼搴忕浉搴斿緱浼氭瘮杈冨鏉傘?/span>

鑰?/span>DOM錛堟枃妗e璞℃ā鍨嬶級錛屽垯鏄湪鍒嗘瀽鏃訛紝涓嬈℃х殑灝嗘暣涓?/span>XML鏂囨。榪涜鍒嗘瀽錛屽茍鍦ㄥ唴瀛樹腑褰㈡垚瀵瑰簲鐨勬爲緇撴瀯錛屽悓鏃訛紝鍚戠敤鎴鋒彁渚涗竴緋誨垪鐨勬帴鍙f潵璁塊棶鍜岀紪杈戣鏍戠粨鏋勩傝繖縐嶆柟寮忓崰鐢ㄥ唴瀛樺ぇ錛岄熷害寰寰鎱簬SAX錛屼絾鍙互緇欑敤鎴鋒彁渚涗竴涓潰鍚戝璞$殑璁塊棶鎺ュ彛錛屽鐢ㄦ埛鏇翠負鍙嬪ソ銆?/span>

鍙︽嵁璇達紝涓浜涘悓鏃舵彁渚涗簡SAX鍜?/span>DOM鎺ュ彛鐨勫簱錛屾槸鍦ㄥ簳灞傚厛瀹炵幇SAX錛屽啀鍦?/span>SAX鐨勫熀紜涓婂疄鐜?/span>DOM銆?/span>

鐩墠鎴戠煡閬撶殑XML瑙f瀽搴撴湁涓嬮潰鍑犱釜錛?/span>

鍚嶇О

璁塊棶鎺ュ彛

鏄惁鏀寔楠岃瘉

澶囨敞

Expat

SAX/Local

涓嶆竻妤?/span>

Local鎸囧畠榪樻湁涓濂楄嚜宸辮闂ā鍨?/span>

LibXML2

SAX/DOM

鏄?/span>

 

 

 

TinyXml

DOM

鍚?/span>

 

 

 

XML4C

SAX/DOM

鏄?/span>

鍜?/span>Xerces-C鏄竴瀹訛紝涓嶈繃鐢ㄤ簡ICU錛屽浗闄呭寲浼間箮鏇村ソ

Xerces-C

SAX/DOM

鏄?/span>

 

 

 

XML Booster

Local

涓嶆竻妤?/span>

榪欎釜搴撲笉鏄壒鍒簡瑙o紝濂藉儚鏄被浼?/span>yacc閭f牱錛屽彲浠ョ敓鎴愪竴涓壒瀹氱殑瑙f瀽鍣紝浼拌鏁堢巼搴旇寰堥珮錛堢湅鍚嶅瓧涔熷儚錛夈?/span>

 

 

 

2.      楠岃瘉鍜岄潪楠岃瘉

瀵逛簬涓涓壒瀹氱殑XML鏂囨。鑰岃█錛屽叾姝g‘鎬у垎涓轟袱涓眰嬈°傞鍏堟槸鍏舵牸寮忓簲璇ョ鍚?/span>XML鐨勫熀鏈牸寮忚姹傦紝姣斿絎竴琛岃鏈夊0鏄庯紝鏍囩鐨勫祵濂楀眰嬈″繀欏誨墠鍚庝竴鑷寸瓑絳夛紝絎﹀悎榪欎簺瑕佹眰鐨勬枃浠訛紝灝辨槸涓涓悎鏍肩殑XML鏂囦歡錛岀О浣?/span>well-formatted銆備絾闄ゆ涔嬪錛屼竴涓?/span>XML鏂囨。鍥犲叾鍐呭鐨勪笉鍚岃繕蹇呴』鍦ㄨ涔変笂絎﹀悎鐩稿簲鐨勬爣鍑嗭紝榪欎簺鏍囧噯鐢辯浉搴旂殑DTD鏂囦歡鎴栬?/span>Schema鏂囦歡鏉ュ畾涔夛紝絎﹀悎浜嗚繖浜涘畾涔夎姹傜殑XML鏂囦歡錛岀О浣?/span>valid銆?/span>

鍥犳錛岃В鏋愬櫒涔熷垎涓轟袱縐嶏紝涓縐嶆槸楠岃瘉鐨勶紝鍗充細璺熸嵁XML鏂囦歡涓殑澹版槑錛岀敤鐩稿簲鐨?/span>DTD鏂囦歡瀵?/span>XML鏂囦歡榪涜鏍¢獙錛屾鏌ュ畠鏄惁婊¤凍DTD鏂囦歡鐨勮姹傘傚彟涓縐嶆槸蹇界暐DTD鏂囦歡錛屽彧瑕佸熀鏈牸寮忔紜紝灝卞彲浠ヨ繘琛岃В鏋愩?/span>

灝辨垜鎵鐭ワ紝楠岃瘉鐨勮В鏋愬櫒閫氬父閮芥槸姣旇緝閲嶉噺綰х殑銆?/span>TinyXml涓嶆敮鎸侀獙璇侊紝浣嗘槸浣撶Н寰堝皬錛岀敤鍦ㄨВ鏋愭牸寮忚緝涓虹畝鍗曠殑XML鏂囦歡錛屾瘮濡傞厤緗枃浠舵椂錛岀壒鍒殑鍚堥傘?/span>

 

浜屻?span style="font-family: "Times New Roman"; font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-size-adjust: none; font-stretch: normal;">      TinyXml鐨勬瀯寤哄拰浣跨敤

1.      鑾峰彇

TinyXml棣栭〉鍦?/span>http://www.grinninglizard.com/tinyxml/index.html錛屼粠榪欓噷鍙互鎵懼埌鏈鏂扮増鏈殑婧愪唬鐮侊紝鐩墠鐨勭増鏈槸2.3.4銆?/span>

2.      鏋勫緩

TinyXml鍦ㄦ瀯寤烘椂鍙互閫夋嫨鏄惁鏀寔STL錛岄夋嫨鐨勮瘽錛屽垯鍙互浣跨敤std::string錛屾墍浠ラ氬父搴旇鎵撳紑榪欎釜閫夐」銆?/span>

鍦?/span>Windows涓婏紝TinyXml鐨勬簮鐮佸寘閲屾彁渚涗簡VC6鐨勫伐紼嬫枃浠訛紝鐩存帴鐢ㄥ畠?yōu)鍙互鐢熸垚涓や釜闈欐佸簱錛堝甫STL鍜屼笉甯?/span>STL錛夛紝闈炲父瀹規(guī)槗銆傚敮涓闇瑕佹敞鎰忕殑鏄紝榛樿鐢熸垚鐨勫簱鏄崟綰跨▼鐨勶紝濡傛灉鐢ㄥ湪澶氱嚎紼嬬殑欏圭洰涓紝闇瑕佹敼鍔ㄤ竴涓嬮厤緗紝鐢熸垚鐩稿簲鐨勫綰跨▼搴撱?/span>

鍦?/span>Unix騫沖彴涓婏紝TinyXml鐨勬簮鐮佸寘閲屽彧鎻愪緵浜嗕竴涓?/span>Makefile錛屽浜庡吀鍨嬬殑Linux緋葷粺錛屾垨瑁呬簡gcc鍜?/span>gmake鐨勫叾浠?/span>Unix錛岃繖涓?/span>Makefile瓚沖鐢ㄤ簡錛屾垜鍦?/span>RH9鍜?/span>RHEL4涓婃祴璇曪紝綆鍗曠殑make灝辨垚鍔熶簡銆傞渶瑕佹敞鎰忕殑鏈変互涓嬪嚑鐐癸細榛樿鐨勭紪璇戞槸涓嶆敮鎸?/span>STL鐨勶紝鍙互閫氳繃緙栬緫Makefile鐨?/span>TINYXML_USE_STL := NO閭d竴琛岋紝鎶?/span>NO鏀規(guī)垚YES灝卞彲浠ユ敮鎸?/span>STL浜嗭紱榪樻湁榛樿鍙敓鎴愪簡涓涓祴璇曠▼搴忥紝娌℃湁鐢熸垚浠諱綍搴擄紝濡傛灉瑕佺敓鎴愰潤鎬佸簱鐨勮瘽錛屽彲浠ョ敤ar鍛戒護錛屽皢鐢熸垚鐨勫嚑涓洰鏍囨枃浠舵墦鍖呭氨琛屼簡錛屽鏋滆鐢熸垚鍔ㄦ佸簱錛屽垯闇瑕佸姞涓?/span>-fpic鍙傛暟閲嶆柊緙栬瘧銆?/span>

3.      浣跨敤

鏋勫緩浜嗙浉搴旂殑搴撲箣鍚庯紝鍦ㄤ嬌鐢ㄤ簡瀹冧滑鐨勫伐紼嬩腑錛屽彧瑕佸湪榪炴帴鏃舵妸浠栦滑榪炰笂灝辮浜嗐傞渶瑕佹敞鎰忕殑鏄紝濡傛灉闇瑕?/span>STL鏀寔錛屽湪緙栬瘧鐢ㄥ埌浜?/span>TinyXml鐨勬枃浠舵椂錛岄渶瑕佸畾涔変竴涓畯TIXML_USE_STL錛屽gcc錛屽彲浠ヤ嬌鐢ㄥ弬鏁?/span>-DTIXML_USE_STL錛屽cl.exe錛?/span>VC錛夛紝鍙互浣跨敤鍙傛暟/DTIXML_USE_STL錛屽鏋滃珜楹葷儲錛屽彲浠ョ洿鎺ュ畾涔夊湪 tinyxml.h鏂囦歡閲屻?/span>

 

 

 

涓夈?span style="font-family: "Times New Roman"; font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-size-adjust: none; font-stretch: normal;">      TinyXml鐨勭紪紼嬫ā鍨?/span>

1.      綾諱箣闂寸殑鍏崇郴

TinyXml瀹炵幇鐨勬椂DOM璁塊棶妯″瀷錛屽洜姝ゆ彁渚涗簡涓緋誨垪鐨勭被瀵瑰簲XML鏂囦歡涓殑鍚勪釜鑺傜偣銆?span class="GramE">涓昏綾婚棿鐨?/span>鍏崇郴濡備笅鍥炬墍紺猴細

綾葷粨鏋勫浘

TiXmlBase錛氬叾浠栫被鐨勫熀綾伙紝鏄釜鎶借薄綾?/span>

TiXmlNode錛氳〃紺轟竴涓妭鐐癸紝鍖呭惈鑺傜偣鐨勪竴鑸柟娉曪紝濡?span class="GramE">璁塊棶鑷?/span>鑺傜偣銆佸厔寮熻妭鐐廣佺紪杈戣嚜韜佺紪杈戝瓙鑺傜數(shù)

TiXmlDocument錛氳〃紺烘暣涓?/span>XML鏂囨。錛屼笉瀵瑰簲鍏朵腑鏌愪釜鐗瑰畾鐨勮妭鐐廣?/span>

TiXmlElement錛氳〃紺哄厓绱犺妭鐐癸紝鍙互鍖呭惈瀛愯妭鐐瑰拰TiXmlAttribute

TiXmlComment錛氳〃紺烘敞閲?/span>

TiXmlDeclaration錛氳〃紺哄0鏄?/span>

TiXmlText錛氳〃紺烘枃鏈妭鐐?/span>

TiXmlUnknown錛氳〃紺烘湭鐭ヨ妭鐐癸紝閫氬父鏄嚭閿欎簡

TiXmlAttribute錛氳〃紺轟竴涓厓绱犵殑灞炴?/span>

涓嬮潰鏄竴涓畝鍗曠殑渚嬪瓙錛?/span>

<?xml version="1.0" encoding="utf-8" ?>
        <!-This is only a sample-->

    <book>

        <name>TinyXml How To</name>

       <price unit=”RMB”>20</price>

        <description>Some words…</description>

 </ book >

 
        鏁翠釜鏂囨。錛屽搴?/span>TiXmlDocument

book,name,price, description錛岄兘瀵瑰簲TiXmlElement

絎竴琛屽搴斾竴涓?/span>TiXmlDeclaration

絎簩琛屽搴斾竴涓?/span>TiXmlComment

“TinyXml How To”瀵瑰簲涓涓?/span>TiXmlText

unit鍒欐槸price鐨勪竴涓?/span>TiXmlAttribute

榪欎簺綾諱笌XML鏂囦歡涓殑鐩稿簲鍏冪礌閮芥湁寰堝ソ鐨勫搴斿叧緋伙紝鍥犳鐩鎬俊鍙傜収TinyXml鐨勬枃妗o紝鍙互寰堝鏄撶殑鎺屾彙鍚勪釜鏂規(guī)硶鐨勪嬌鐢ㄣ?/span>

 

2.      闇瑕佹敞鎰忕殑闂

鍚勭被涔嬮棿鐨勮漿鎹?/span>

鐢變簬鍚勪釜鑺傜偣綾婚兘浠?/span>TiXmlNode緇ф壙錛屽湪浣跨敤鏃跺父甯擱渶瑕佸皢TiXmlNode*綾誨瀷鐨勬寚閽堣漿鎹負鍏舵淳鐢熺被鐨勬寚閽堬紝鍦ㄨ繘琛岃繖縐嶈漿鎹㈡椂錛屽簲璇ラ鍏堜嬌鐢ㄧ敱TiXmlNode綾繪彁渚涚殑涓緋誨垪杞崲鍑芥暟錛屽ToElement(void)錛岃屼笉鏄?/span>c++鐨?/span>dynamic_cast

 媯鏌ヨ繑鍥炲?/span>

 鐢變簬TinyXml鏄竴涓潪鏍¢獙鐨勮В鏋愬櫒錛屽洜姝ゅ綋瑙f瀽涓涓枃浠舵椂錛屽緢鍙兘鏂囦歡騫朵笉鍖呭惈鎴戜滑棰勬湡鐨勬煇涓妭鐐癸紝鍦ㄨ繖縐嶆儏鍐典笅錛?/span>TinyXml灝嗚繑鍥炵┖鎸囬拡銆傚洜姝わ紝蹇呴』瑕佸榪斿洖鍊艱繘琛屾鏌ワ紝鍚﹀垯灝嗗緢瀹規(guī)槗鍑虹幇鍐呭瓨璁塊棶鐨勯敊璇?/span>

 濡備綍閲嶅ご寤虹珛涓涓?/span>XML鏂囦歡

 鍏堝緩绔嬩竴涓?/span>TiXmlDocument瀵硅薄錛岀劧鍚庯紝杞藉叆鏌愪釜妯℃澘錛屾垨鑰呯洿鎺ユ彃鍏ヤ竴涓妭鐐逛綔涓烘牴鑺傜偣錛屾帴鐫灝卞彲浠ュ儚鎵撳紑涓涓凡鏈夌殑XML鏂囦歡閭f牱瀵瑰畠榪涜鎿嶄綔浜嗐?/span>

 

鍥涖?span style="font-family: "Times New Roman"; font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-size-adjust: none; font-stretch: normal;">      鎬葷粨

TinyXml鏈澶х殑鐗圭偣灝辨槸瀹冨緢灝忥紝鍙互寰堟柟渚跨殑闈欐佽繛鎺ュ埌紼嬪簭閲屻傚浜庡儚閰嶇疆鏂囦歡銆佺畝鍗曠殑鏁版嵁鏂囦歡榪欑被鏂囦歡鐨勮В鏋愶紝瀹冨緢閫傚悎銆備絾鏄敱浜庡畠鏄潪楠岃瘉鐨勶紝鍥犳闇瑕佸湪紼嬪簭閲屽仛璁稿媯鏌ュ伐鍋氾紝鍔犻噸浜嗙▼搴忕紪鍐欑殑璐熸媴銆傚洜姝ゅ浜庡鏉傜殑XML鏂囦歡錛屾垜瑙夊緱鏈濂借繕鏄敤楠岃瘉鐨勮В鏋愬櫒鏉ュ鐞嗐?/span>




]]>
青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
      <noscript id="pjuwb"></noscript>
            <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
              <dd id="pjuwb"></dd>
              <abbr id="pjuwb"></abbr>
              久久久五月婷婷| 玖玖玖国产精品| 亚洲三级视频| 欧美成人在线免费观看| 亚洲日韩欧美一区二区在线| 欧美激情va永久在线播放| 美国十次了思思久久精品导航| 亚洲电影天堂av| 亚洲电影天堂av| 欧美日韩亚洲一区三区 | 国产欧美韩日| 久久国产精品久久w女人spa| 狠狠色伊人亚洲综合成人| 免费亚洲网站| 欧美日韩亚洲综合在线| 欧美在线首页| 欧美大片在线看免费观看| 亚洲图片你懂的| 久久精品国产99国产精品| 91久久久久久| 亚洲免费中文字幕| 激情综合电影网| 99re6热在线精品视频播放速度| 国产精品久久九九| 欧美承认网站| 国产精品美女一区二区在线观看| 久久综合九色综合久99| 欧美日韩国产91| 久久免费国产| 欧美午夜精品久久久久久人妖 | 一本色道久久综合亚洲二区三区| 在线亚洲激情| 亚洲激情六月丁香| 亚洲欧美另类国产| 99在线精品观看| 久久久亚洲国产天美传媒修理工| 这里只有精品丝袜| 美脚丝袜一区二区三区在线观看| 亚洲一区国产一区| 欧美黄色视屏| 免费看精品久久片| 国产日韩一区二区三区在线播放| 亚洲精品综合久久中文字幕| 狠狠色综合色区| 午夜国产精品影院在线观看| 99精品视频一区| 猛干欧美女孩| 久久久久久国产精品一区| 国产精品久久久久久久久免费| 亚洲国产欧美精品| 黄色成人在线网址| 午夜在线观看免费一区| 亚洲永久网站| 欧美日韩不卡一区| 亚洲欧洲精品一区二区精品久久久| 国内精品久久久久伊人av| 亚洲欧美久久久| 亚洲欧美日韩精品| 国产精品高潮呻吟视频| 99精品久久免费看蜜臀剧情介绍| 亚洲精品国产精品久久清纯直播 | 欧美色图一区二区三区| 亚洲国产午夜| 99re视频这里只有精品| 欧美成ee人免费视频| 欧美成人xxx| 亚洲激情成人网| 欧美成熟视频| 最新日韩av| 宅男噜噜噜66一区二区66| 欧美日韩亚洲一区二区三区| 亚洲精品中文字幕在线观看| 一本色道精品久久一区二区三区| 欧美久久久久久| 99热精品在线观看| 午夜在线精品| 国产无遮挡一区二区三区毛片日本| 亚洲永久视频| 久久午夜激情| 亚洲精品免费看| 欧美日韩xxxxx| 亚洲在线国产日韩欧美| 久久九九国产精品| 亚洲国产成人久久综合| 欧美韩日视频| 亚洲午夜视频在线| 久久在线免费视频| 亚洲伦理一区| 国产精品日韩欧美大师| 久久九九精品| 亚洲精品综合久久中文字幕| 欧美影院久久久| 亚洲国产一区二区a毛片| 欧美视频在线观看一区二区| 性色一区二区| 亚洲精品亚洲人成人网| 久久精品国产亚洲高清剧情介绍| 在线免费观看日本欧美| 欧美日韩国产综合久久| 欧美一区二区黄| 亚洲福利在线看| 欧美在线3区| 日韩视频一区二区在线观看 | 在线播放中文字幕一区| 欧美精品www在线观看| 亚洲欧美一区二区三区极速播放 | 国产精品99久久久久久久久| 国产酒店精品激情| 欧美—级a级欧美特级ar全黄| 亚洲一区图片| 亚洲国产裸拍裸体视频在线观看乱了中文 | 欧美黄色一级视频| 香蕉精品999视频一区二区| 1024国产精品| 国产精品日日摸夜夜摸av| 女同性一区二区三区人了人一| 亚洲免费视频在线观看| 亚洲精品网站在线播放gif| 久久综合色播五月| 欧美一区亚洲一区| 亚洲午夜视频在线观看| 亚洲精品乱码久久久久久久久 | 欧美经典一区二区| 久久久久久尹人网香蕉| 亚洲一线二线三线久久久| 亚洲精品久久嫩草网站秘色 | 亚洲欧美日韩精品久久| 最新高清无码专区| 国产自产高清不卡| 国产精品视频一| 国产精品久久久久久久久免费| 欧美男人的天堂| 欧美成人资源网| 蜜臀99久久精品久久久久久软件| 欧美尤物巨大精品爽| 亚洲欧美日韩国产中文| 中国亚洲黄色| 一二三四社区欧美黄| 亚洲免费观看视频| 亚洲人在线视频| 亚洲欧洲综合| 91久久精品久久国产性色也91| 欧美福利小视频| 欧美韩日精品| 亚洲大胆美女视频| 亚洲激情视频| 亚洲精品视频免费| 日韩亚洲欧美在线观看| 99热免费精品在线观看| 99精品免费网| 亚洲综合精品一区二区| 亚洲永久免费精品| 午夜视频一区在线观看| 先锋资源久久| 久久精品青青大伊人av| 久久久99久久精品女同性| 久久影视三级福利片| 欧美成人免费播放| 欧美日本国产在线| 国产精品久久久久三级| 国产欧美一区二区三区在线老狼 | 久久大逼视频| 久久亚洲图片| 亚洲欧洲一区二区三区在线观看| 亚洲人成网站在线观看播放| 一本色道久久综合亚洲精品婷婷| 一区二区激情视频| 欧美一二三视频| 久久综合999| 欧美日韩一区二区三| 国产欧美视频在线观看| 一区二区三区在线高清| 日韩亚洲精品电影| 亚洲免费在线视频| 久久精品一区二区三区不卡牛牛| 欧美成人网在线| 在线亚洲欧美视频| 久久精品国产99国产精品| 欧美精品三区| 国产区欧美区日韩区| 亚洲电影免费在线| 亚洲一区国产| 免费亚洲一区二区| av成人免费在线观看| 久久九九99| 欧美四级剧情无删版影片| 黄色小说综合网站| 亚洲巨乳在线| 久久在线免费观看视频| 99这里只有久久精品视频| 久久精品夜夜夜夜久久| 欧美视频导航| 亚洲国内自拍| 久久精品夜色噜噜亚洲a∨| 亚洲精品自在久久| 久久久亚洲午夜电影| 国产精品女同互慰在线看| 亚洲精品国产精品乱码不99| 久久一区亚洲| 亚洲系列中文字幕|