青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品

牽著老婆滿街逛

嚴以律己,寬以待人. 三思而后行.
GMail/GTalk: yanglinbo#google.com;
MSN/Email: tx7do#yahoo.com.cn;
QQ: 3 0 3 3 9 6 9 2 0 .

[轉載]C/C++ 開發人員:充實您的 XML 工具箱(初涉XML的值得一讀)

C/C++ 開發人員:充實您的 XML 工具箱
作者:Rick Parrish

提交者:eastvc 發布日期:2003-10-23 22:16:03
原文出處:http://www-900.ibm.com/developerWorks/cn/xml/x-ctlbx/index.shtml


本文針對哪些不熟悉 XML 開發的 C 和 C++ 程序員,概述了為 XML 開發作準備而裝配的工具。工具表概述了常規 XML 工具,如 IDE 和模式設計器、解析器、XSLT 工具、SOAP 和 XML-RPC 庫,以及其它可以在 C 和/或 C++ 中使用或者實際上以 C 和/或 C++ 編寫的庫。本文包括了關于在 Windows、Unix 和 Linux 上安裝開放源碼庫的建議,還有關鍵 XML 術語的簡要詞匯表。

似乎滿眼望去,一些新的以源碼形式發布的與 XML 相關的工具都是用 Java 編寫。盡管 Java 在 XML 競技場中占有明顯優勢,許多 C/C++ 程序員還是在進行 XML 的開發,而且現在有許多 XML 工具可供 C 和 C++ 程序員使用。我們將面對 XML 庫問題,如驗證、模式和 API 模型。接著,我們將研究常規 XML 工具的集合,如 IDE 和模式設計器。最后,我們將用一個列表進行總結,并且討論可以在 C 和/或 C++ 中使用或者實際上以 C 和/或 C++ 編寫的庫。

在本文中,將跳過關于使用 XML 的爭論;我假設您已經擁有充分的理由來等待掌握這種技術。另外,我們將把 XML 的更詳細說明留給參考資料中的背景資源講述。只要說 XML 是數據交換的標準(不僅是文件格式)就夠了。數據可以是以 XML 格式的應用程序文件形式來進行交換的,或者通過網絡連接進行交換,該網絡連接只是因在線事務結束或網絡連接關閉而遭到放棄之前存在短暫片刻。

此外,本文并不是評價工具的比較性評論。我的目的是說明您可能需要的工具類型,并向您指出可能的候選工具。您仍需要根據項目需要來研究、測試和比較工具特征,以裝配最終的工具箱。

兩套工具
要將 XML 合并到自己的軟件項目中,在您的工具箱里應該有兩套工具。第一套是方言設計器(或者更適當的叫法是“模式設計器”)。第二套工具包括將解析和 XML 生成特性添加到應用程序的軟件庫。

設計您自己的 XML 方言
XML 方言只是一組特殊的 XML 標記,以及一些關于如何組合這些標記的規則。目前,指定或定義 XML 方言的兩種主要方式是通過文檔類型定義(DTD)或 XML 模式。我將把這兩者都稱作模式。

您的項目域也許已經有了一個為您設計的特定模式。如果沒有,您可以使用純文本編輯器創建自己的模式。更精細的方法是使用可以檢查語法的真正 方言設計器。(當以后嘗試使用錯誤的模式來驗證 XML 數據時,該模式不會起作用。)

設計工具
目前,大多數程序員的文本編輯器 — 尤其是在 IDE 中找到的文本編輯器 — 擁有正規的宏和模板支持,可用于某些特性,如語法突出顯示和自動完成部分輸入的字或短語。因此,我省略了關于任何只執行語法突出顯示和自動完成的 XML 編輯器的討論。Microsoft Word 或 Emacs 宏就可以實現這些特性,因此“XML 編輯器”應該有更多特性。

表 1 中顯示的工具分為三種類別:

  • IDE(集成開發環境,即瑞士軍刀方法)
  • 模式敏感的 XML 編輯器(補充在模式或 DTD 中找到的許可標記結構和屬性)
  • 模式設計器(用于編寫自己的模式或 DTD)


因為表 1 中的所有工具都運行應用程序,所以它們適合于所有 XML 開發人員 — 不僅是那些使用 C++ 的開發人員(與本文中其它表中列出的工具不同)。

表 1. 各種平臺的方言設計工具
產品供應商描述許可證平臺
Turbo XMLTIBCO/ExtensibilityXML 模式/DTD 設計器和 IDE商業Java、Win32
KomodoActive StateXML 編輯器和 IDE商業Linux、Win32、其它
XML SpyAltova用于 XML 編輯和模式設計的 IDE商業Win32
XML NotepadMicrosoftXML 編輯器免費Win32
Morphon XMLLunatech Research模式敏感的 XML 數據編輯器商業Java
XED愛丁堡大學模式敏感的 XML 數據編輯器非商業Win32、Linux、Unix
XeenaIBM alphaWorks模式敏感的 XML 數據編輯器免費試用/商業Mac、Unix、Win32
Visual XMLPierlou模式敏感的 XML 數據編輯器非商業Java
NetpaddPhillip LenssenMicrosoft 的 XML Notepad 的替代品非商業Win32
XMetalSoftquadDTD 敏感的 XML 編輯器商業Win32
MerlotChannelpoint可視 XML 編輯器;支持 DTD 插件非商業Java
XML ValidatorElCel Technologies命令行 XML 驗證工具非商業Win32
XML CanonElCel Technologies通過將 XML 數據與 DTD 合并來生成規范的 XML非商業Win32

C 和 C++ 工具
本文的其余部分提供了通過軟件庫向 C/C++ 程序員添加 XML 功能的基礎。在本文的下一部分中,您將發現可以找到更多的命令行實用程序,軟件庫包含了它們作為測試和/或樣本程序。例如,Transformiix 可以用作一個庫、Perl 模塊或命令行工具。

發放許可證

在所有工具表中,商業許可證表示必須購買該工具,才能將它用于產品環境中。試用版本(有時間限制或者禁用了主要特性)通常可供下載和評估。所有其它工具都有非商業許可證,不需要支付費用就能使用,但如果將它們用于商業項目中,請確保您將遵守許可證條款進行使用。例如,使用任何開放源碼作為共享庫或 DLL,應符合這些 XML 庫附帶的開放源碼許可證協定(通常是 LGPL)。在表中,當可能不完全安裝工具就能確定許可證類型時,就會指定非商業許可證的類型;該表使用 非商業來指定許可證條款比較模糊的免費軟件。

常用的開放源碼是 Apache、GPL、BSD 和 LGPL。并不允許在商業軟件包中包含 GPL 代碼,而 Apache 和 LGPL 代碼可以在銷售的軟件中使用。這四個產品都限制在沒有得到許可的情況下在派生產品中使用它們的名稱。

到現在為止,我嘗試盡量少用 XML 相關的術語。可是,在您進一步閱讀之前,如果還不熟悉 XML 基礎知識,您也許應該瀏覽在 XML 術語側欄中定義的術語。這些術語將幫助您理解本文的其余部分,并且在您親自深入研究所提到的工具和庫時幫助挑出它們的特征。

解析器
一旦您擁有了 DTD 或模式以及與其相配的 XML 文檔,就需要一個解析器來讀取并解釋該 XML 文檔。表 2 概述了 C/C++ 開發人員的解析器庫。可是,在開始研究表中的網格時,需要一點背景知識。

驗證
XML 解析器有兩種形式:驗證和非驗證。您需要哪一種呢?如果您不使用正式的 DTD 或模式,驗證特性對于您來說并不重要。如果您已經或者正在計劃使用 DTD 或模式,您也許會首選驗證解析器。(在這種情況下,我建議您還要學習如何閱讀和手工寫 DTD/模式,這樣當發生驗證問題時,您就可以處理錯誤。有時,錯誤在 DTD/模式中,因此您可以調試 DTD/模式文件和 XML 數據。)

解析器 API 模型
用于將軟件與 XML 解析器結合的兩種常用 API 模型是:文檔模型和事件模型。文檔 API 模型對 XML 數據進行解析以生成一個對象。對象將文檔的內容抽象成樹結構。應用程序對這個樹結構對象進行操作。事件 API 模型使用回調機制向應用程序通報 XML 數據的結構。事件/回調通常在進行解析時發生。

API 標準:DOM 和 SAX
一般解析器 API 模型已經被進一步改進成特定 API 標準。W3C 已經推薦 DOM(級別 1 和 2,級別 3 正在草擬中)作為標準化文檔 API 模型。SAX 雖然不是 W3C 項目,但它已經占有了事實上的標準事件 API 模型的地位。

W3C 標準
當比較解析器和其它 XML 工具中的特性時,請尋找 W3C 推薦的和正在形成的規范的支持,如名稱空間、XPath、XLink、XInclude 和 XInfoset。請記住,XML 技術成熟得非常快,對第一級規范(如 DOM)的支持也許缺少了該規范第二級中引入的重要功能。如果最新規范形式的功能對于您的項目很重要,請相應地選擇工具。

閱讀下表
在表 2 中,“事件”欄指定了支持一個推或事件模型 API(如 SAX)的解析器?!拔臋n”欄指定了支持拉或文檔模型 API(如 DOM)的解析器。與前面一樣,該表列出了商業和非商業工具(請參閱側欄發放許可證以獲取關于軟件許可證的詳細信息)。

表 2. C/C++ 開發人員的解析器
供應商事件文檔特點許可證
expatJames Clark/expat 小組本機與 SAX-帶有本機 API 和 SAX 封裝器的、非常快速的推模型解析器。LGPL(免費)
libxmlGnomeSAXDOM非常強壯;SAX 與 DOM 封裝器;執行 DTD 驗證LGPL(免費)
MSXMLMicrosoftSAXDOMWin32 的 Microsoft XML 庫EULA(免費)
XercesApache Software FoundationSAXDOM執行 SAX 及 DOM 級別 1 和 2;DTD 驗證;增加的 XML 模式Apache(免費)
XTLVivid CreationsSAXDOM帶 SAX 和 DOM 的基于 STL 的 XML 工具箱商業
RXP愛丁堡大學-本機驗證以 C 編寫的了解名稱空間的 XML 解析器GPL(免費)
XML4CIBM alphaWorksSAXDOMIBM 發起的 Xerces 的變體Apache(免費)
Oracle XDK 8iOracleSAXDOMOracle 主辦的用于 C++ 的 XML 工具箱非商業
Pull ParserExtreme! Lab-本機印地安那大學發起的用于 C++ 的輕量型 XML 工具箱非商業
XML BoosterPhiDaNi Software-本機解析器發生器,生成 C 源碼解析器商業

開放源碼前三名
三種最流行的開放源碼 XML 庫是 expat、libxml 和 Xerces。這三者都是跨平臺的,每一種都充當 XSLT 庫實現的基礎,一旦滿足了基本 XML 需要之后,它就會給您一條成長途徑。

  • expat 是 James Clark 創始的開放源碼面向事件的 XML 解析庫。他已經將該項目轉讓給了 SourceForge 中的一個小組。有一個 SAX 封裝器可供使用。在許多項目中都可以找到 expat 解析器,如開放源碼瀏覽器 Mozilla、XSLT 處理器 Transformiix 和 RDF 工具 repat。
  • libxml 為類似于 SAX 和 DOM 的操作提供了雙重方式 API。它支持對 DTD 的驗證,并且在 Gnome 的 XSLT 處理器 libxslt 中使用。libxml 經過重寫,已作為 libxml(2) 發布,也許還稱為 libxml2。這個庫的用戶應該確保他們擁有了當前版本。
  • Xerces 是非常堅固的、擁有大量文檔的庫,它充當 IBM alphaWorks XML4C 庫的基礎。Xerces 還用于 Apache XSLT 處理器 Xalan 中。Xerces 支持 DOM、SAX,以及對 DTD 的驗證。最新版本讀取并解釋了部分“W3C XML 模式推薦”(打算到 2001 年底實現完整的 XML 模式支持)。

將這三種最流行的庫其中一種編譯并鏈接到您的項目毫不費力。大多數軟件包都包括了每個平臺的詳盡說明。這里是一些樣本安裝說明。

在 Windows 上構建開放源碼庫
在 Windows 上從頭構建 libxml 是很簡單的四個步驟:

  1. 下載源 tarball 文件。
  2. 使用諸如 Winzip 之類的程序將內容解壓縮到一個目錄中。請確認指示了解壓縮實用程序保留 libxml 可能需要的任何子目錄的路徑名。
  3. 定位 ./win32/dsp 子文件夾中的 libxml2.dsw 文件,并從 MS Developer Studio 中打開它。
  4. 從 DevStudio 中的頂部菜單選擇 Build All。這將構建所有樣本和測試程序,以及運行它們所需的 libxml DLL。


可以使用上述步驟在 Windows 上構建 Xerces。唯一的區別就是查找 ./c/samples/Projects/Win32/VC6 子文件夾中的 samples.dsw 工作空間文件。

expat 已經開始包括了 DSP 項目 makefile。請查看 libxmlwf 子文件夾。

在 Unix 上構建開放源碼庫
對于在 Linux 或 Unix 上運行的項目,大多數情況下,您可以將源代碼解包(untar)到一個空目錄中,設置某些選項,然后輸入“make”來構建共享庫。Solaris 用戶:不要忘記使用 GNU 解包實用程序。在 Slackware Linux 下的 bash shell 中,我使用以下代碼:

tar -x 

XML 和 COM
MSXML 是 Microsoft 針對 Windows 系列操作系統提供的專利 XML,它被實現成一個可腳本化的 COM 對象集合,因此可以在其它語言環境中出色地工作,而且提供了大量文檔。這個庫支持 DOM,而且還有一個本機面向文檔的接口。它還支持 SAX 事件。

作為 MSXML 的替代品,“Apache XML 項目”的 Xerces 庫附帶了一個 COM 封裝器,這可以使它在許多情況下充當 MSXML 的仿制品。Vivid Creations 在它的 XTL 庫中提供了 SAX 和 DOM API 的 COM 封裝器,該產品也是 MSXML 的替代品。

XML 轉換:XSLT 和 XQuery
轉換是 XML 發展過程中從只是在元素和屬性級別處理 XML 數據向前進階的下一步。XML 轉換對進入 XML 數據進行操作,以產生 XML 輸出。轉換可以重新組織標記結構、添加/除去標記和屬性、進行過濾以放大 XML 數據的所選擇部分。

XQuery 文檔將轉換過程稱作查詢,但含義是一樣的。

XSLT 和 XQuery 是 XML 方言,用于指定如何對隨機 XML 數據執行這樣的操作。您可以編寫一個腳本文件,改用 XSLT 或 XQurey 來代替 XML,從而代替將一些 XML 數據裝入到 DOM 中,而且必須由程序操縱 DOM 版本來產生期望的結果。這種更通用的方法會產生更好的靈活性,并會縮短開發時間?,F在,您的 Web 開發人員(他們不是 C/C++ 程序員)可以編寫自己的 XML 轉換,這可以讓 C++ 程序員來完成更復雜的工作。

表 3. C/C++ 轉換/查詢庫
供應商特點許可證
libxsltGnome構建在 libxml 之上非商業
XalanApache構建在 Xerces 解析器之上Apache(免費)
TransformiixMITRE構建在 expat 之上的 XSLT 處理器非商業
xsltcOliver GerardinXSLT 編譯器,產生 C 代碼非商業
sablotronGinger AllianceXSL 引擎非商業

消息傳遞:XML-RPC 和 SOAP 工具
對本文來說,消息傳遞是指讓兩個軟件代理程序互相通信。這種消息傳遞有時稱作面向消息的中間件。(這不是類似于 AOL、MSN 或 ICQ 的消息傳遞,知道嗎?現在一個尚處于未完成階段的基于 XML 的即時消息傳遞協議成果稱作 Jabber。我已經在參考資料中包含了一個鏈接以滿足您的好奇心,但再次聲明,那并不是我要在這里討論的東西。)

使用 XML 進行消息傳遞已經非常流行,以至于已經產生了兩個替代品:XML-RPC 和 SOAP。這些協議最顯著的特征是根據開發人員用于實現的工具選擇,客戶機、服務器和同級設備可能會大相徑庭。雖然所有開發人員都習慣使用他們偏愛的語言、開發工具箱或軟件庫,但他們仍然可以合作。

(附帶說明:Gregor Purdy 已經用已提議的替代方法編寫了一篇出色的 XML-RPC 評論(請參閱參考資料))。

表 4 包括了用于面向消息中間件類別的一些庫。這并不是一個此類別中資源的詳盡列表,有一些新的工具正在快速發展,但它是一個好的起點。

表 4. C/C++ 消息傳遞庫
供應商特點許可證平臺
4S4C SOAP 服務Simon Fell開放源碼 SOAP 成果非商業Linux、Unix、Win32
SOAP 客戶機SQL DataC++ SOAP 客戶機工具箱商業Win32
SOAP 組件mozilla.org可腳本化 XPCOM 組件非商業許多
XML-RPC for C/C++First PeerC 語言編寫的 XML-RPC 庫非商業Linux、Unix、Win32
XML-RPC 組件mozilla.org可腳本化 XPCOM 組件非商業許多
XML-RPC for C/C++EpinionsC 語言編寫的 XML-RPC 庫非商業Linux、Unix、Win32

題外話
這些工具應該給您的 XML 工具箱一個很好的起點。如果想要推薦已經嘗試過的其它用于 XML 的 C/C++ 工具或者要發表任何其它意見,請加入本文所附的討論中(請使用“參考資料”中的鏈接或單擊文章頁面頂部或底部的“討論”圖標)。

XML 術語

這些 XML 術語也許會在您理解本文中討論的庫時派上用場:

  • 文檔模型:用于將 XML 數據當作樹型對象進行解析和操縱的技術,也稱作“拉”模型。請參閱作為示例的 DOM API 標準。
  • DOM:“文檔對象模型”是 XML 文檔的一種特殊樹型結構編程模型,W3C 將它描述成一個標準。DOM 標準目前分成三個級別。DOM 1.0 是指 DOM 級別 1.0 一致性;DOM 級別 2 是最新的規范,W3C 正將它認可為“推薦”;DOM 級別 3 在本文創作時正在草擬中。
  • DTD:文檔類型定義。一種 XML 文件,定義了 XML 元素和那些元素的 XML 屬性,而且指定了如何嵌套 XML 標記以及元素可以包含什么數據的規則。請參閱 Jane Fung 的XML 和 DTD 簡介以獲取更多詳細信息。
  • 事件模型:用于通過使用回調或處理程序對 XML 數據進行解析的技術;也稱作“推”模型。例如,請參閱 SAX API 標準。
  • 名稱空間:明確從不同的 DTD 或模式中標識出 XML 標記的方法,這樣它們可以混合在同一個 XML 文檔中。RDF 非常依賴于這個特性;XML 1.0 標記“xmlns”可以用于在 XML 文檔中定義名稱空間。
  • RDF:資源描述框架,用于將 XML 屬性數據和通常駐留在別處的信息相關聯的一種壓縮 XML 方言。您的驅動程序的許可證就類似于描述您的 RDF XML 文件。
  • SAX:Simple API for XML 是用于 XML 解析器實現的標準編程接口;SAX 使用面向事件的編程模型。SAX 是由 David Megginson 最早開發的事實上的標準,現在由 XML-dev 郵件列表維護。
  • SOAP:“簡單對象訪問協議”是類似于 XML-RPC(請參閱 XML-RPC)的網絡協議。通過使用 SOAP,應用程序可以創建遠程對象、調用該對象上的方法,以及檢索結果。
  • 驗證:關于 DTD 和模式,驗證結構良好的 XML 文檔是否正確。
  • 結構良好:一個 XML 文檔,它的標記和數據符合 XML 1.0 語法。
  • W3C:世界萬維網聯盟,它已經成為大多數 XML 相關技術的重要標準主體。W3C 將最終認可的規范稱作“推薦”(而不是標準)。
  • XML 1.0:W3C 頌揚的第一個 XML 語法標準;建立了 XML 數據的基本規則,如所有標記都必須以斜杠(/)結束,如:,或者后跟一個結束標記,如: close the tag on your way out。
  • XML-RPC:XML 遠程過程調用。XML-RPC 是用于跨網絡調用方法和服務的標準 XML 方言;就象您認為的那樣,XML-RPC 使用 XML 進行客戶機和服務器之間的消息傳遞。
  • XML 模式:XML 模式是一種 W3C 推薦,它類似于 DTD,用于定義 XML 文檔的結構,但具有更好的靈活性。XML 模式使用 XML 1.0 語法來指定模式,這與用于 DTD 的比較早期的 SGML 語法相反。
  • XQuery:其部分功能類似于 XSLT,但設計得更有利于充當 XML 數據的查詢語言 — 類似于在關系數據庫中使用 SQL。作為規范,它還不如 XSLT 成熟,XQuery 也許會成為今后十年里的 SQL。
  • XSLT:可擴展樣式語言轉換,一種用于轉換 XML 內容的 XML 方言。將 XSLT 文件應用于某些 XML 輸入數據,以生成期望的 XML 輸出數據。

參考資料

本文中提到的 XML 標準


關于作者
Rick 是一個老資格的程序員,他的職業生涯就是炒股和克服最后期限,同時給女招待足以使她們臉紅的慷慨的小費。他的名字已經傳遍了小鎮里的每一個咖啡館。他還喜歡在以技術為主題的研討會上發表演講。他的設計標新立異,現在他正在研究更時髦的建模方法,如 UML。他汽車的保險桿上寫著:“I for XHTML.”??梢酝ㄟ^ rfmobile@swbell.net 與 Rick 聯系。

posted on 2006-04-30 09:25 楊粼波 閱讀(938) 評論(4)  編輯 收藏 引用 所屬分類: 文章收藏

評論

# re: [轉載]C/C++ 開發人員:充實您的 XML 工具箱(初涉XML的值得一讀) 2006-04-30 15:05 jemmy

這么老的東西就不要轉了啦  回復  更多評論   

# re: [轉載]C/C++ 開發人員:充實您的 XML 工具箱(初涉XML的值得一讀) 2006-04-30 17:45 天下奇毒

呵呵,我為了這玩意走了不少彎路,
看看也好。  回復  更多評論   

# re: [轉載]C/C++ 開發人員:充實您的 XML 工具箱(初涉XML的值得一讀) 2006-04-30 21:07 dudu

請不要在首頁轉載文章!  回復  更多評論   

# re: [轉載]C/C++ 開發人員:充實您的 XML 工具箱(初涉XML的值得一讀) 2006-05-02 19:26 snnn

我用的最多的還是libxml++
xquery剛開始學
挺喜歡berkeley db xml
  回復  更多評論   

青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <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>
            久久天天综合| 日韩视频一区二区在线观看 | 久久久久久久国产| 欧美黄色日本| 亚洲另类在线视频| 亚洲国产日韩精品| 久久夜色精品国产噜噜av| 黄色日韩在线| 亚洲高清三级视频| 国产精品久久久久久久久免费桃花| 在线成人中文字幕| 亚洲精品麻豆| 欧美一激情一区二区三区| 国产欧美日韩综合一区在线播放 | 国内精品久久久久久久影视麻豆| 在线中文字幕一区| 性18欧美另类| 亚洲欧洲午夜| 一区二区三区欧美在线| 国产亚洲精品福利| 欧美激情在线狂野欧美精品| 久久久噜噜噜久久久| 亚洲精品国产日韩| 亚洲在线观看免费| 亚洲伦理在线| 亚洲综合日韩| 亚洲二区在线| 欧美亚洲在线播放| 亚洲综合成人婷婷小说| 久久精品在线| 欧美精品播放| 亚洲精品国产日韩| 欧美日韩人人澡狠狠躁视频| 久久亚洲一区二区三区四区| 欧美大胆a视频| 免费中文日韩| 激情久久影院| 久久中文在线| 亚洲欧美日韩精品在线| 欧美激情免费观看| 91久久国产综合久久| 在线观看精品视频| 欧美一区二区| 久久噜噜噜精品国产亚洲综合 | 一区二区三区日韩精品视频| 美脚丝袜一区二区三区在线观看| 欧美国产日韩二区| 国产中文一区| 亚洲欧美综合另类中字| 亚洲少妇中出一区| 欧美三级日韩三级国产三级| 欧美国产日韩一区二区在线观看| 国产乱码精品一区二区三区不卡| 99成人在线| 久久精品国产第一区二区三区最新章节 | 久久久精品一区| 亚洲国产99| 亚洲在线成人精品| 狠狠色狠狠色综合日日tαg| 亚洲欧美日本日韩| 久久蜜臀精品av| 一本一本久久| 一本到12不卡视频在线dvd| 亚洲综合第一页| 亚洲黄色在线看| 欧美日韩另类综合| 欧美专区在线播放| 一区二区三区视频在线看| 久久精品日韩| 亚洲一区精品视频| 亚洲欧洲在线观看| 怡红院精品视频在线观看极品| 欧美日韩精品是欧美日韩精品| 亚洲欧美一级二级三级| 日韩网站在线| 亚洲精品视频在线观看免费| 久久亚洲精品中文字幕冲田杏梨 | 好吊色欧美一区二区三区四区| 亚洲国产精品久久精品怡红院| 日韩一二三区视频| 亚洲国产精品悠悠久久琪琪| 久久一区激情| 麻豆国产精品一区二区三区| 久久国产直播| 久久狠狠亚洲综合| 久久久国产午夜精品| 欧美影院午夜播放| 久久精品国产亚洲aⅴ| 午夜精品免费| 久久人91精品久久久久久不卡| 先锋影音久久| 麻豆精品视频在线观看| 欧美国产一区二区| 亚洲国产三级网| 正在播放欧美一区| 亚洲欧美日韩一区二区三区在线观看| 国产一区二区欧美日韩| 亚洲主播在线播放| 久久爱www.| 欧美日韩一区在线| 亚洲一区二区在线观看视频| 亚洲欧美成人一区二区在线电影| 亚洲午夜视频在线| 久久综合色天天久久综合图片| 欧美激情一区在线| 国产深夜精品福利| 亚洲激情电影在线| 欧美专区在线| 一区二区高清视频| 老巨人导航500精品| 国产精品成人国产乱一区| 韩日成人在线| 欧美一区二区三区精品电影| 亚洲二区在线| 欧美一区二区三区日韩| 欧美理论片在线观看| 国产一区二区三区自拍| 正在播放欧美一区| 免费日韩精品中文字幕视频在线| 99www免费人成精品| 欧美一级久久久久久久大片| 欧美日韩亚洲不卡| 日韩视频不卡| 欧美福利一区| 久久成人精品| 精品二区视频| 久久精品日韩一区二区三区| 中文日韩欧美| 欧美视频在线播放| 亚洲一区二区三区免费视频| 99成人在线| 欧美日韩一区二区三区视频| 亚洲私人黄色宅男| 午夜精品999| 一区在线电影| 欧美激情中文字幕乱码免费| 欧美成人精品一区| 99综合视频| 亚洲欧美精品在线| 亚洲第一天堂av| 日韩午夜av| 伊人成年综合电影网| 亚洲免费av观看| 国产一区二区视频在线观看 | 久久综合色天天久久综合图片| 91久久夜色精品国产九色| 亚洲精品一区在线观看| 狠狠色狠狠色综合日日91app| 亚洲国产精品悠悠久久琪琪| 国产精品久久久久久妇女6080| 欧美激情国产日韩精品一区18| 99av国产精品欲麻豆| 狠狠色综合日日| 国产精品99久久久久久久vr| 亚洲第一级黄色片| 午夜久久久久| 亚洲欧美日韩国产成人| 欧美成年人网站| 欧美成人一区在线| 激情av一区二区| 欧美自拍偷拍| 久久久久免费观看| 国产亚洲欧洲一区高清在线观看| 亚洲免费精品| 亚洲欧美日韩综合aⅴ视频| 欧美日韩免费高清| 日韩一级在线| 午夜在线观看欧美| 欧美日韩综合一区| 一区二区欧美在线| 亚洲综合精品自拍| 欧美特黄一区| 亚洲综合精品一区二区| 欧美一区二区三区视频在线 | 国产主播在线一区| 欧美在线影院| 你懂的亚洲视频| 亚洲精品九九| 欧美日韩在线大尺度| 午夜精品久久久久久久蜜桃app | 久久天天躁夜夜躁狠狠躁2022| 国产日韩欧美在线一区| 久久久久欧美| 亚洲桃色在线一区| 麻豆精品一区二区综合av| 99综合视频| 尤物yw午夜国产精品视频明星| 亚洲欧美在线一区二区| 国产视频观看一区| 免费久久99精品国产自| 一区二区三区|亚洲午夜| 久久先锋资源| 欧美一区二粉嫩精品国产一线天| 激情成人av| 国产日韩欧美一区二区三区在线观看 | 可以看av的网站久久看| 日韩亚洲欧美一区| 欧美电影专区| 老司机午夜精品视频| 亚洲日本精品国产第一区|