精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

XPath基礎(chǔ)知識詳解

開發(fā)
經(jīng)常在工作中會使用到XPath的相關(guān)知識,但每次總會在一些關(guān)鍵的地方不記得或不太清楚,所以免不了每次總要查一些零碎的知識,感覺即很煩又浪費時間,所以對XPath歸納及總結(jié)一下。

在這篇文章中你將能學(xué)習(xí)到:

◆XPath簡介

◆XPath 路徑表達式詳解

◆XPath在DOM,XSLT及XQuery中的應(yīng)用

XPath簡介

XPath是W3C的一個標準。它最主要的目的是為了在XML1.0或XML1.1文檔節(jié)點樹中定位節(jié)點所設(shè)計。目前有XPath1.0和XPath2.0兩個版本。其中Xpath1.0是1999年成為W3C標準,而XPath2.0標準的確立是在2007年。W3C關(guān)于XPath的英文詳細文檔請見:

http://www.w3.org/TR/xpath20/

XPath是一種表達式語言,它的返回值可能是節(jié)點,節(jié)點集合,原子值,以及節(jié)點和原子值的混合等。XPath2.0是XPath1.0的超集。它是對XPath1.0的擴展,它可以支持更加豐富的數(shù)據(jù)類型,并且XPath2.0保持了對XPath1.0的相對很好的向后兼容性,幾乎所有的XPath2.0的返回結(jié)果都可以和XPath1.0保持一樣。另外XPath2.0也是XSLT2.0

XQuery1.0的用于查詢定位節(jié)點的主表達式語言。XQuery1.0是對XPath2.0的擴展。關(guān)于在XSLT和XQuery中使用XPath表達式定位節(jié)點的知識在后面的實例中會有所介紹。在學(xué)習(xí)XPath之前你應(yīng)該對XML的節(jié)點,元素,屬性,原子值(文本),處理指令,注釋,根節(jié)點(文檔節(jié)點),命名空間以及對節(jié)點間的關(guān)系如:父(Parent),子(Children),兄弟(Sibling),先輩(Ancestor),后代(Descendant)等概念有所了解。這里不在說明。

XPath路徑表達式

在本小節(jié)下面的內(nèi)容中你將可以學(xué)習(xí)到:

◆路徑表達式語法

◆相對/絕對路徑

◆表達式上下文

◆謂詞(篩選表達式)及軸的概念

◆運算符及特殊字符

◆常用表達式實例

◆函數(shù)及說明

這里給出一個實例Xml文件。下面的說明及實例都是基于該XML文件。

路徑表達式語法:

1.路徑 = 相對路徑 | 絕對路徑

2.XPath路徑表達式 = 步進表達式 | 相對路徑 "/"步進表達式。

3.步進表達式=軸 節(jié)點測試 謂詞

說明:

1.其中軸表示步進表達式選擇的節(jié)點和當(dāng)前上下文節(jié)點間的樹狀關(guān)系(層次關(guān)系),節(jié)點測試指定步進表達式選擇的節(jié)點名稱擴展名,謂詞即相當(dāng)于過濾表達式以進一步過濾細化節(jié)點集。

2.謂詞可以是0個或多個。多個多個謂詞用邏輯操作符and, or連接。取邏輯非用not()函數(shù)。 請看一個典型的XPath查詢表達式:/messages/message//child::node()[@id=0],其中/messages/message是路徑(絕對路徑以"/"開始),child::是軸表示在子節(jié)點下選擇,node()是節(jié)點測試表示選擇所有的節(jié)點。[@id=0]是謂詞,表示選擇所有有屬性id并且值為0的節(jié)點。

相對路徑與絕對路徑:

如果"/"處在XPath表達式開頭則表示文檔根元素,(表達式中間作為分隔符用以分割每一個步進表達式)如:/messages/message/subject是一種絕對路徑表示法,它表明是從文檔根開始查找節(jié)點。假設(shè)當(dāng)前節(jié)點是在第一個message節(jié)點【/messages/message[1]】,則路徑表達式subject(路徑前沒有"/")這種表示法稱為相對路徑,表明從當(dāng)前節(jié)點開始查找。具體請見下面所述的"表達式上下文"。

表達式上下文(Context):

上下文其實表示一種環(huán)境。以明確當(dāng)前XPath路徑表達式處在什么樣的環(huán)境下執(zhí)行。例如同樣一個路徑表達式處在對根節(jié)點操作的環(huán)境和處在對某一個特定子節(jié)點操作的環(huán)境下執(zhí)行所獲得的結(jié)果可能是完全不一樣的。也就是說XPath路徑表達式計算結(jié)果取決于它所處的上下文。

XPath上下文基本有以下幾種:

◆當(dāng)前節(jié)點(./):

如./sender表示選擇當(dāng)前節(jié)點下的sender節(jié)點集合(等同于下面所講的"特定元素",如:sender)

◆父節(jié)點(../):

如../sender表示選擇當(dāng)前節(jié)點的父節(jié)點下的sender節(jié)點集合

◆根元素(/):

如/messages表示選擇從文檔根節(jié)點下的messages節(jié)點集合.

◆根節(jié)點(/*):

這里的*是代表所有節(jié)點,但是根元素只有一個,所以這里表示根節(jié)點。/*的返回結(jié)果和/messages返回的結(jié)果一樣都是messages節(jié)點。

◆遞歸下降(//):

如當(dāng)前上下文是messages節(jié)點。則//sender將返回以下結(jié)果:

/messages//sender :

gkt1980@gmail.com

111@gmail.com

333@gmail.com

/messages/message[1]//sender:

gkt1980@gmail.com

111@gmail.com

我們可以看出XPath表達式返回的結(jié)果是:從當(dāng)前節(jié)點開始遞歸步進搜索當(dāng)前節(jié)點下的所有子節(jié)點找到滿足條件的節(jié)點集。

◆特定元素

如sender:表示選擇當(dāng)前節(jié)點下的sender節(jié)點集合,等同于(./sender)

注意:在執(zhí)行XPath時一定要注意上下文。即當(dāng)前是在哪個節(jié)點下執(zhí)行XPath表達式。這在XMLDOM中很重要。如:在XMLDOM中的selectNodes,selectSingleNode方法的參數(shù)都是一個XPath表達式,此時這個XPath表達式的執(zhí)行上下文就是調(diào)用這個方法的節(jié)點及它所在的環(huán)境。

更多信息請參見:http://www.w3.org/TR/xpath20/

謂詞(篩選表達式)及軸的概念:

XPath的謂詞即篩選表達式,類似于SQL的where子句.

軸名稱

結(jié)果

ancestor

選取當(dāng)前節(jié)點的所有先輩(父、祖父等)

ancestor-or-self

選取當(dāng)前節(jié)點的所有先輩(父、祖父等)以及當(dāng)前節(jié)點本身

attribute

選取當(dāng)前節(jié)點的所有屬性

child

選取當(dāng)前節(jié)點的所有子元素。

descendant

選取當(dāng)前節(jié)點的所有后代元素(子、孫等)。

descendant-or-self

選取當(dāng)前節(jié)點的所有后代元素(子、孫等)以及當(dāng)前節(jié)點本身。

following

選取文檔中當(dāng)前節(jié)點的結(jié)束標簽之后的所有節(jié)點。

namespace

選取當(dāng)前節(jié)點的所有命名空間節(jié)點

parent

選取當(dāng)前節(jié)點的父節(jié)點。

preceding

直到所有這個節(jié)點的父輩節(jié)點,順序選擇每個父輩節(jié)點前的所有同級節(jié)點

preceding-sibling

選取當(dāng)前節(jié)點之前的所有同級節(jié)點。

self

選取當(dāng)前節(jié)點。

運算符及特殊字符:

運算符/特殊字符

說明

/

此路徑運算符出現(xiàn)在模式開頭時,表示應(yīng)從根節(jié)點選擇。

//

從當(dāng)前節(jié)點開始遞歸下降,此路徑運算符出現(xiàn)在模式開頭時,表示應(yīng)從根節(jié)點遞歸下降。

.

當(dāng)前上下文。

..

當(dāng)前上下文節(jié)點父級。

*

通配符;選擇所有元素節(jié)點與元素名無關(guān)。(不包括文本,注釋,指令等節(jié)點,如果也要包含這些節(jié)點請用node()函數(shù))

@

屬性名的前綴。

@*

選擇所有屬性,與名稱無關(guān)。

:

命名空間分隔符;將命名空間前綴與元素名或?qū)傩悦指簟?/SPAN>

( )

括號運算符(優(yōu)先級最高),強制運算優(yōu)先級。

[ ]

應(yīng)用篩選模式(即謂詞,包括"過濾表達式"和"軸(向前/向后)")。

[ ]

下標運算符;用于在集合中編制索引。

|

兩個節(jié)點集合的聯(lián)合,如://messages/message/to | //messages/message/cc

-

減法。

div,

浮點除法。

and, or

邏輯運算。

mod

求余。

not()

邏輯非

=

等于

!=

不等于

特殊比較運算符

< 或者 <

<= 或者 <=

> 或者 >

>= 或者 >=

需要轉(zhuǎn)義的時候必須使用轉(zhuǎn)義的形式,如在XSLT中,而在XMLDOM的scripting中不需要轉(zhuǎn)義。


 

常用表達式實例:

/

Document Root文檔根.

/*

選擇文檔根下面的所有元素節(jié)點,即根節(jié)點(XML文檔只有一個根節(jié)點)

/node()

根元素下所有的節(jié)點(包括文本節(jié)點,注釋節(jié)點等)

/text()

查找文檔根節(jié)點下的所有文本節(jié)點

/messages/message

messages節(jié)點下的所有message節(jié)點

/messages/message[1]

messages節(jié)點下的第一個message節(jié)點

/messages/message[1]/self::node()

第一個message節(jié)點(self軸表示自身,node()表示選擇所有節(jié)點)

/messages/message[1]/node()

第一個message節(jié)點下的所有子節(jié)點

/messages/message[1]/*[last()]

第一個message節(jié)點的最后一個子節(jié)點

/messages/message[1]/[last()]

Error,謂詞前必須是節(jié)點或節(jié)點集

/messages/message[1]/node()[last()]

第一個message節(jié)點的最后一個子節(jié)點

/messages/message[1]/text()

第一個message節(jié)點的所有子節(jié)點

/messages/message[1]//text()

第一個message節(jié)點下遞歸下降查找所有的文本節(jié)點(無限深度)

/messages/message[1] /child::node()

/messages/message[1] /node()

/messages/message[position()=1]/node()

//message[@id=1] /node()

第一個message節(jié)點下的所有子節(jié)點

//message[@id=1] //child::node()

遞歸所有子節(jié)點(無限深度)

//message[position()=1]/node()

選擇id=1的message節(jié)點以及id=0的message節(jié)點

/messages/message[1] /parent::*

Messages節(jié)點

/messages/message[1]/body/attachments/parent::node()

/messages/message[1]/body/attachments/parent::* /messages/message[1]/body/attachments/..

attachments節(jié)點的父節(jié)點。父節(jié)點只有一個,所以node()和* 返回結(jié)果一樣。

(..也表示父節(jié)點. 表示自身節(jié)點)

//message[@id=0]/ancestor::*

Ancestor軸表示所有的祖輩,父,祖父等。

向上遞歸

//message[@id=0]/ancestor-or-self::*

向上遞歸,包含自身

//message[@id=0]/ancestor::node()

對比使用*,多一個文檔根元素(Document root)

/messages/message[1]/descendant::node()

//messages/message[1]//node()

遞歸下降查找message節(jié)點的所有節(jié)點

/messages/message[1]/sender/following::*

查找第一個message節(jié)點的sender節(jié)點后的所有同級節(jié)點,并對每一個同級節(jié)點遞歸向下查找。

//message[@id=1]/sender/following-sibling::*

查找id=1的message節(jié)點的sender節(jié)點的所有后續(xù)的同級節(jié)點。

//message[@id=1]/datetime/@date

查找id=1的message節(jié)點的datetime節(jié)點的date屬性

//message[@id=1]/datetime[@date]

//message/datetime[attribute::date]

查找id=1的message節(jié)點的所有含有date屬性的datetime節(jié)點

//message[datetime]

查找所有含有datetime節(jié)點的message節(jié)點

//message/datetime/attribute::*

//message/datetime/attribute::node()

//message/datetime/@*

返回message節(jié)點下datetime節(jié)點的所有屬性節(jié)點

//message/datetime[attribute::*]

//message/datetime[attribute::node()]

//message/datetime[@*]

//message/datetime[@node()]

選擇所有含有屬性的datetime節(jié)點

//attribute::*

選擇根節(jié)點下的所有屬性節(jié)點

//message[@id=0]/body/preceding::node()

順序選擇body節(jié)點所在節(jié)點前的所有同級節(jié)點。(查找順序為:先找到body節(jié)點的頂級節(jié)點(根節(jié)點),得到根節(jié)點標簽前的所有同級節(jié)點,執(zhí)行完成后繼續(xù)向下一級,順序得到該節(jié)點標簽前的所有同級節(jié)點,依次類推。)

注意:查找同級節(jié)點是順序查找,而不是遞歸查找。

//message[@id=0]/body/preceding-sibling::node()

順序查找body標簽前的所有同級節(jié)點。(和上例一個最大的區(qū)別是:不從最頂層開始到body節(jié)點逐層查找。我們可以理解成少了一個循環(huán),而只查找當(dāng)前節(jié)點前的同級節(jié)點)

//message[@id=1]//*[namespace::amazon]

查找id=1的所有message節(jié)點下的所有命名空間為amazon的節(jié)點。

//namespace::*

文檔中的所有的命名空間節(jié)點。(包括默認命名空間xmlns:xml)

//message[@id=0]//books/*[local-name()='book']

選擇books下的所有的book節(jié)點,

注意:由于book節(jié)點定義了命名空間.若寫成//message[@id=0]//books/book則查找不出任何節(jié)點。

//message[@id=0]//books/*[local-name()='book' and namespace-uri()='http://www.amazon.com/books/schema']

選擇books下的所有的book節(jié)點,(節(jié)點名和命名空間都匹配)

//message[@id=0]//books/*[local-name()='book'][year>2006]

選擇year節(jié)點值>2006的book節(jié)點

//message[@id=0]//books/*[local-name()='book'][1]/year>2006

指示第一個book節(jié)點的year節(jié)點值是否大于2006.

返回xs:boolean: true

 

函數(shù)及說明:

值得欣喜的是XPath函數(shù)和XSLT,XQuery等共享函數(shù)庫,函數(shù)庫為我們提供了功能豐富的各種函數(shù)的調(diào)用,我們也可以自定義自己的函數(shù)。這里不再對每個函數(shù)的用法逐一說明,英文好點的朋友直接去看看w3關(guān)于XPath函數(shù)的介紹吧:http://www.w3.org/TR/xquery-operators

中文的可以參考這個網(wǎng)站, http://www.w3school.com.cn/xpath/xpath_functions.asp

XPath在DOM,XSLT及XQuery中的應(yīng)用

DOM:

注意:

我們?nèi)羰褂胣ew ActiveXObject("Microsoft.XMLDOM")則需要注意的是:因為早期的XMLDOM的SelectionLanguage屬性默認是正則表達式,不是XPath語言。所以需要指定這樣一條語句xmlDoc.setProperty("SelectionLanguage", "XPath"); 以支持XPath查詢表達式。. 若沒有指定SelectionLanguage屬性值為XPath則要注意以下情況:

1.數(shù)組下標從0開始(我們知道在XPath查詢表達式中數(shù)組下標是從1開始的)

2.不支持在XPath查詢表達式中使用XPath函數(shù)。

XSLT: 見:我的另外一篇關(guān)于如何使用XSLT的一個小示范

http://www.cnblogs.com/ktgu/archive/2008/12/14/1354890.html

XQuery:

XQuery查詢表達式:

xquery version "1.0"; 

{

let $i := 0

for $x in doc("C:\Users\Administrator\Desktop\messages.xml")//message

[@id=0]//books/*[local-name()='book']

where $x/year>2006

order by $x/year descending

return

      { data($x/name) }


}

返回結(jié)果:

Microsoft Visual C# 2008 Step by Step 

Professional C# 2008

這里只是非常簡單的介紹一下應(yīng)用,XPath的其他應(yīng)用場合和應(yīng)用技巧大家自己總結(jié)吧。

【編輯推薦】

  1. 使用CAM機制提高XML驗證水平
  2. XML新手入門 創(chuàng)建構(gòu)造良好的XML
  3. 實現(xiàn)XML和Web服務(wù)時要避免的三種常見錯誤
責(zé)任編輯:彭凡 來源: 博客園
相關(guān)推薦

2009-09-14 14:49:12

LINQ查詢基礎(chǔ)知識

2010-08-06 08:49:00

2010-11-15 10:02:31

UPS電源技術(shù)

2010-07-30 16:38:10

路由器網(wǎng)絡(luò)

2009-10-20 09:26:53

綜合布線系統(tǒng)

2023-05-12 09:40:53

ContextGolang

2010-09-02 14:28:12

路由器存儲器

2010-03-18 15:07:13

Linux操作系統(tǒng)

2010-03-18 14:52:05

Linux操作系統(tǒng)

2010-03-18 15:16:37

Linux操作系統(tǒng)

2009-10-30 13:32:48

寬帶接入服務(wù)器

2010-04-13 17:12:54

2015-06-01 13:35:43

數(shù)據(jù)中心DCIM

2010-07-16 10:53:30

Perl基礎(chǔ)

2009-09-23 11:07:11

Hibernate基礎(chǔ)

2011-09-16 10:13:02

Emacs

2009-04-10 09:35:00

WCDMA基礎(chǔ)無線網(wǎng)絡(luò)

2014-08-20 10:15:45

2010-07-16 11:22:31

Perl

2023-07-04 07:31:06

MapReduce數(shù)據(jù)處理編程模型
點贊
收藏

51CTO技術(shù)棧公眾號

www.午夜色| 久久久噜噜噜久久| 91丝袜超薄交口足| av在线播放资源| 久久夜色精品国产欧美乱极品| 国产精品成人品| 91插插插插插插| 色天天色综合| 欧美一区二区视频在线观看| 日韩精品―中文字幕| 婷婷五月在线视频| 99r精品视频| 91在线观看免费观看| 国产又黄又爽又色| 欧美 日韩 国产 一区| 亚洲精品一二区| 视频区 图片区 小说区| 成人性生活视频| 亚洲综合男人的天堂| 色噜噜狠狠色综合网| 色丁香婷婷综合久久| 韩国一区二区视频| 日韩美女在线播放| 国产午夜视频在线播放| 五月天久久久| 国产亚洲精品美女久久久| 美女黄色一级视频| 精品一区二区三区四区五区| 欧美亚洲综合另类| 国产a级一级片| 91九色美女在线视频| 成人欧美一区二区三区白人| 欧美久久久久久| 日本韩国免费观看| 风间由美性色一区二区三区| 成人国产精品av| 男人的天堂av网站| 国产精品嫩草99av在线| 久久人人爽人人| 欧美日韩在线国产| 综合av在线| 久久中文精品视频| 国产稀缺精品盗摄盗拍| 日韩国产一区| 色偷偷av亚洲男人的天堂| 亚洲av无码一区二区三区人| 欧美深夜视频| 日韩电视剧免费观看网站| 香港三日本8a三级少妇三级99| 精品国产不卡一区二区| 欧美一级视频精品观看| 91丝袜超薄交口足| 一区二区三区四区视频免费观看| 欧美美女喷水视频| 天天综合成人网| 欧美成人精品一级| 日韩三级电影网址| 一二三区视频在线观看| 国产精品18hdxxxⅹ在线| 亚洲国产成人精品电影| 国产熟女高潮一区二区三区| 欧美日韩一区二区三区不卡视频| 国产丝袜一区视频在线观看 | 国内成人自拍视频| 亚洲精品日韩av| 狠狠躁日日躁夜夜躁av| 97久久超碰国产精品| 欧美不卡福利| 成全电影播放在线观看国语| 国产精品视频一二三区| 中文字幕一区综合| 日本一级理论片在线大全| 亚洲国产精品久久人人爱蜜臀| 日本精品久久久久久久久久| 中文字幕高清在线播放| 在线免费精品视频| 日韩欧美理论片| 爱爱精品视频| 亚洲欧美日本精品| 手机在线免费看片| 亚洲国产专区| 国产精品精品视频| 国产av无码专区亚洲av| 99久久精品情趣| 亚洲一区影院| 啊啊啊久久久| 欧美日韩国产成人在线免费| wwwww在线观看| 国产剧情在线观看一区| 美女扒开尿口让男人操亚洲视频网站| 国产无遮挡裸体免费视频| 久久久蜜桃一区二区人| 国内精品伊人久久| 久久一区二区电影| 日本高清免费电影一区| 欧美麻豆久久久久久中文| www..com国产| 久88久久88久久久| 国产亚洲精品自在久久| eeuss影院www在线观看| 亚洲综合色区另类av| 北条麻妃av高潮尖叫在线观看| 色婷婷成人网| 国产网站欧美日韩免费精品在线观看 | 六月丁香婷婷色狠狠久久| 成人在线视频电影| jyzzz在线观看视频| 亚洲成人在线网站| 国内自拍第二页| 亚洲调教一区| 久久久久久久久久久久久久久久久久av | 国产一区二区三区高清视频| wwwww在线观看免费视频| 亚洲国产成人av好男人在线观看| 性欧美1819| 精品国产aⅴ| **欧美日韩vr在线| 国产高清免费观看| 国产精品第五页| 免费无码毛片一区二三区| 欧美日韩国产v| 亚洲电影免费观看高清| 国产精品免费人成网站酒店| 玖玖视频精品| 精品免费日产一区一区三区免费| 国产成人在线视频免费观看| 欧美视频一区二区三区在线观看 | 97超级碰在线看视频免费在线看| a在线观看免费| 中文字幕人成不卡一区| 欧美精品性生活| 中文字幕精品影院| 欧美最猛性xxxx| 涩涩视频在线观看免费| 午夜精品久久久久久久久久| 少妇熟女视频一区二区三区 | 欧美在线视频网| 午夜18视频在线观看| 亚洲午夜久久久| 少妇极品熟妇人妻无码| 欧美日韩理论| 99在线免费观看视频| 超碰最新在线| 91精品国产综合久久久久久久久久 | aaaaaaaa毛片| 一本一本久久a久久综合精品| 成人国产精品一区二区| 欧美a在线看| 69av一区二区三区| 91在线播放观看| 国产不卡视频在线播放| www.国产在线视频| 久久久久97| 日av在线播放中文不卡| 国产二区视频在线观看| 欧美体内she精视频| eeuss中文字幕| 久久爱另类一区二区小说| 一区一区视频| 日韩中文字幕| 97色伦亚洲国产| 深夜视频在线免费| 欧美视频一区二区三区四区| 少妇视频一区二区| 精品国模一区二区三区| 亚洲精品电影在线| 警花观音坐莲激情销魂小说| 91在线亚洲| 日韩中文字幕在线视频播放| 亚洲一级特黄毛片| 一区二区视频在线看| 四虎精品一区二区| 午夜在线视频一区二区区别| 欧洲在线视频一区| 亚洲毛片在线免费| 欧美激情一区二区三区在线视频观看| 免费观看毛片网站| 91国偷自产一区二区三区成为亚洲经典 | 东京一区二区| 色阁综合伊人av| 精品久久久久久亚洲综合网站| 亚洲国产毛片aaaaa无费看| 精品人妻一区二区三区香蕉 | 成人a免费视频| 视频在线观看入口黄最新永久免费国产 | 欧美在线视频网| 天堂аⅴ在线地址8| 欧美成人精品3d动漫h| 无码人妻精品一区二区三区不卡| 国产午夜亚洲精品不卡| 91丨porny丨九色| 久久青草久久| 激情六月天婷婷| 国产一区二区三区四区五区传媒| 成人h猎奇视频网站| 黄在线观看免费网站ktv| 最近2019中文字幕mv免费看| 乱色精品无码一区二区国产盗| 日本丶国产丶欧美色综合| 免费中文字幕在线| 国产亚洲短视频| 国产伦精品一区二区三区88av| 麻豆精品视频在线观看视频| 亚洲熟妇无码一区二区三区导航| 日韩一区二区在线| 九九九九精品| 日韩中文字幕在线一区| 国产精品久久久久久久久久免费| 成人av影院在线观看| 日韩在线视频免费观看| 日韩精品系列| 精品国产三级a在线观看| 在线观看色网站| 一本色道久久综合狠狠躁的推荐 | 国产视频精品视频| 激情欧美一区二区| 国内自拍视频网| 免费亚洲婷婷| 欧美午夜小视频| 欧美在线三区| 亚洲第一在线综合在线| 伊人久久综合影院| 国产精品区一区| 午夜精品在线| 亚洲free性xxxx护士白浆| 99精品在免费线偷拍| 欧美在线一区二区视频| 6699嫩草久久久精品影院| 久热精品视频在线观看一区| 91精品大全| 伊人亚洲福利一区二区三区| 视频三区在线观看| 日韩电影免费观看中文字幕| 女人18毛片水真多18精品| 日韩欧美专区在线| 国产免费无遮挡| 91精品国产综合久久久久久久久久| 中文字幕乱码视频| 欧美最猛黑人xxxxx猛交| 亚洲国产成人精品女人久久| 精品久久久一区| 亚洲国产成人精品激情在线| 亚洲成人综合视频| 国产精品.www| 亚洲成人一区二区在线观看| 国产一级做a爱免费视频| 亚洲男人电影天堂| 丝袜美腿小色网| 亚洲激情综合网| 精品少妇一二三区| 午夜精品久久久久影视| 久久国产精品系列| 精品日本高清在线播放| 免费观看成人毛片| 国产av无码专区亚洲av毛网站| 91精品店在线| 国产成人激情小视频| 一本大道色婷婷在线| 91成人福利在线| 345成人影院| 国产精品激情av电影在线观看| 8av国产精品爽爽ⅴa在线观看| 国产精品国产自产拍高清av水多| 亚洲不卡系列| 成人网在线观看| 亚洲一区网址| 久久99精品国产一区二区三区| 日韩欧美中文字幕电影| 欧美一级二级三级| 欧美成人激情| 欧美黄网在线观看| 国产视频一区欧美| 午夜激情福利在线| 国产精品中文字幕一区二区三区| 亚洲国产精品第一页| 97久久精品人人做人人爽50路| 天天躁日日躁aaaa视频| 中文字幕一区免费在线观看| 侵犯稚嫩小箩莉h文系列小说| 亚洲线精品一区二区三区八戒| 亚洲熟妇无码乱子av电影| 欧美视频一区二区三区四区| a毛片在线免费观看| 亚洲精品国产免费| 青青影院在线观看| 韩国19禁主播vip福利视频| 校园春色亚洲色图| 亚洲一区二区三区在线视频| 日韩大胆成人| 黄色网址在线免费看| 9久re热视频在线精品| 日日噜噜夜夜狠狠| 不卡的av在线| 亚洲欧美综合7777色婷婷| 亚洲资源在线观看| 91一区二区视频| 精品五月天久久| 麻豆91在线| 国产999精品久久久| 福利片一区二区| 亚洲区一区二区三区| 亚洲茄子视频| 国内精品国产三级国产aⅴ久| 91麻豆国产在线观看| 2025国产精品自拍| 在线精品视频一区二区三四| 欧美视频在线观看一区二区三区| 在线播放精品一区二区三区| 成年网站在线视频网站| 成人黄色免费看| 欧美日韩激情在线一区二区三区| 东北少妇不带套对白| 精品一区二区综合| 国产探花视频在线播放| 精品久久久久久国产91| 999精品国产| 中文字幕少妇一区二区三区| 美女高潮在线观看| 国产精品传媒毛片三区| 羞羞答答成人影院www| 国产理论在线播放| 久久先锋影音av鲁色资源网| 久久精品久久国产| 日韩欧美亚洲另类制服综合在线| 免费网站看v片在线a| 国产精品久久电影观看| 天堂综合网久久| www.av中文字幕| 成人妖精视频yjsp地址| 一区二区三区影视| 欧美精品日韩一区| 伊人免费在线| 国产精品日韩欧美综合| 欧美日中文字幕| 无码少妇一区二区三区芒果| 91麻豆国产福利在线观看| 国产无精乱码一区二区三区| 精品国产精品网麻豆系列| 污视频在线看网站| 92国产精品视频| 午夜亚洲福利| 91精品国产高清91久久久久久 | 日韩欧美电影在线| 成人短视频在线观看| av噜噜色噜噜久久| 国模 一区 二区 三区| 黄色国产在线视频| 精品久久中文字幕久久av| 天天av天天翘| 秋霞av国产精品一区| 精品国产精品国产偷麻豆| 91极品尤物在线播放国产| 欧美激情在线观看视频免费| 做爰无遮挡三级| 久久精品国产久精国产思思| 高清不卡一区| 国产成人艳妇aa视频在线| 成人免费高清视频在线观看| 日本一区二区不卡在线| 亚洲欧美日韩精品| 91久久久久久白丝白浆欲热蜜臀| 艳色歌舞团一区二区三区| 国产一区二区三区在线观看免费视频 | 欧美日韩一区二区精品| 欧美少妇另类| 国产欧美一区二区三区在线看 | 精品久久久久av影院 | 欧美电影免费| 亚洲图片 自拍偷拍| 亚洲成人精品一区| 精品视频一二区| 成人免费在线网址| 好看的av在线不卡观看| 不卡一区二区在线观看| 欧美色窝79yyyycom| 中文字幕在线观看播放| 国产午夜精品一区| 可以免费看不卡的av网站| 亚洲精品卡一卡二| 亚洲第一中文字幕| 成人国产精选| 免费网站永久免费观看| 久久亚洲一级片| 国产尤物视频在线观看| 国内精品小视频| 日韩精品中文字幕第1页| 日本成人在线免费| 在线看不卡av| 污污视频在线| 日韩中文字幕一区二区| 国产不卡视频在线播放| 成人午夜精品视频| 欧美高清视频在线播放| 国产精品欧美在线观看| 男生和女生一起差差差视频| 亚洲成av人片在www色猫咪| 91社区在线| 精品国产一区二区三区日日嗨| 美国欧美日韩国产在线播放| 日本中文字幕在线免费观看|