婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av

主頁 > 知識庫 > ASP.NET XmlDocument類詳解

ASP.NET XmlDocument類詳解

熱門標簽:河北網絡回撥外呼系統 關于宗地圖標注技術規范 河南語音外呼系統公司 t3出行地圖標注怎么做 400免費電話怎么辦理 威海電銷 寧夏機器人電銷 400電話辦理最優質 外呼電銷機器人軟件

XmlDocument類是.NET框架的DOC解析器。XmlDocument將XML視為樹狀結構,它裝載XML文檔,并在內存中構建該文檔的樹狀結構。下面來看下XmlDocument提供了哪些功能。

一、屬性:

Attributes      獲取一個 XmlAttributeCollection,它包含該節點的屬性。 (繼承自 XmlNode。)
BaseURI          獲取當前節點的基 URI。 (重寫 XmlNode..::.BaseURI。)
ChildNodes      獲取節點的所有子節點。 (繼承自 XmlNode。)
DocumentElement   獲取文檔的根 XmlElement。
DocumentType    獲取包含 DOCTYPE 聲明的節點。
FirstChild       獲取節點的第一個子級。 (繼承自 XmlNode。)
HasChildNodes     獲取一個值,該值指示節點是否有任何子節點。 (繼承自 XmlNode。)
Implementation     獲取當前文檔的 XmlImplementation 對象。
InnerText        獲取或設置節點及其所有子節點的串聯值。 (繼承自 XmlNode。)
InnerXml       獲取或設置表示當前節點子級的標記。 (重寫 XmlNode..::.InnerXml。)
IsReadOnly      獲取一個值,該值指示當前節點是否是只讀的。 (重寫 XmlNode..::.IsReadOnly。)
Item          已重載。
LastChild       獲取節點的最后一個子級。 (繼承自 XmlNode。)
LocalName       獲取節點的本地名稱。 (重寫 XmlNode..::.LocalName。)
Name         獲取節點的限定名。 (重寫 XmlNode..::.Name。)
NamespaceURI    獲取該節點的命名空間 URI。 (繼承自 XmlNode。)
NameTable      獲取與此實現關聯的 XmlNameTable。
NextSibling       獲取緊接在該節點之后的節點。 (繼承自 XmlNode。)
NodeType       獲取當前節點的類型。 (重寫 XmlNode..::.NodeType。)
OuterXml        獲取表示此節點及其所有子節點的標記。 (繼承自 XmlNode。)
OwnerDocument   獲取當前節點所屬的 XmlDocument。 (重寫 XmlNode..::.OwnerDocument。)
ParentNode       已重載。
Prefix          獲取或設置該節點的命名空間前綴。 (繼承自 XmlNode。)
PreserveWhitespace  獲取或設置一個值,該值指示是否在元素內容中保留空白。
PreviousSibling    獲取緊接在該節點之前的節點。 (繼承自 XmlNode。)
SchemaInfo      返回節點的后架構驗證信息集 (PSVI)。 (重寫 XmlNode..::.SchemaInfo。)
Schemas       獲取或設置與此 XmlDocument 關聯的 XmlSchemaSet 對象。
Value         獲取或設置節點的值。 (繼承自 XmlNode。)
XmlResolver      設置 XmlResolver 以用于解析外部資源。

二、方法

AppendChild              將指定的節點添加到該節點的子節點列表的末尾。 (繼承自 XmlNode。)
Clone                   創建此節點的一個副本。 (繼承自 XmlNode。)
CloneNode               創建此節點的一個副本。 (重寫 XmlNode..::.CloneNode(Boolean)。)
CreateAttribute            已重載。 創建具有指定名稱的 XmlAttribute。
CreateCDataSection         創建包含指定數據的 XmlCDataSection。
CreateComment           創建包含指定數據的 XmlComment。
CreateDefaultAttribute         創建具有指定前綴、本地名稱和命名空間 URI 的默認屬性。
CreateDocumentFragment        創建 XmlDocumentFragment。
CreateDocumentType          返回新的 XmlDocumentType 對象。
CreateElement             已重載。 創建 XmlElement。
CreateEntityReference          創建具有指定名稱的 XmlEntityReference。
CreateNavigator            已重載。 創建一個用于導航此文檔的新 XPathNavigator 對象。
CreateNode              已重載。 創建 XmlNode。
CreateProcessingInstruction     創建一個具有指定名稱和數據的 XmlProcessingInstruction。
CreateSignificantWhitespace     創建一個 XmlSignificantWhitespace 節點。
CreateTextNode           創建具有指定文本的 XmlText。
CreateWhitespace          創建一個 XmlWhitespace 節點。
CreateXmlDeclaration         創建一個具有指定值的 XmlDeclaration 節點。
GetElementById           獲取具有指定 ID 的 XmlElement。
GetElementsByTagName        已重載。 返回一個 XmlNodeList,它包含與指定名稱匹配的所有子代元素的列表。
GetEnumerator            提供對 XmlNode 中節點上“for each”樣式迭代的支持。 (繼承自 XmlNode。)
GetHashCode              用作特定類型的哈希函數。 (繼承自 Object。)
GetNamespaceOfPrefix         查找當前節點范圍內離給定的前綴最近的 xmlns 聲明,并返回聲明中的命名空間 URI。 (繼承自 XmlNode。)
GetPrefixOfNamespace         查找當前節點范圍內離給定的命名空間 URI 最近的 xmlns 聲明,并返回聲明中定義的前綴。 (繼承自 XmlNode。)
ImportNode             將節點從另一個文檔導入到當前文檔。
InsertAfter               將指定的節點緊接著插入指定的引用節點之后。 (繼承自 XmlNode。)
InsertBefore             將指定的節點緊接著插入指定的引用節點之前。 (繼承自 XmlNode。)
Load                  已重載。 從 Stream、URL、TextReader 或 XmlReader 加載指定的 XML 數據。
LoadXml                從指定的字符串加載 XML 文檔。
Normalize              將此 XmlNode 下子樹完全深度中的所有 XmlText 節點都轉換成“正常”形式,在這種形式中只有標記(即標記、注釋、處理指令、                    CDATA 節和實體引用)分隔 XmlText 節點,也就是說,沒有相鄰的 XmlText 節點。 (繼承自 XmlNode。)
PrependChild             將指定的節點添加到該節點的子節點列表的開頭。 (繼承自 XmlNode。)
ReadNode               根據 XmlReader 中的信息創建一個 XmlNode 對象。讀取器必須定位在節點或屬性上。
RemoveAll               移除當前節點的所有子節點和/或屬性。 (繼承自 XmlNode。)
RemoveChild             移除指定的子節點。 (繼承自 XmlNode。)
ReplaceChild             用 newChild 節點替換子節點 oldChild。 (繼承自 XmlNode。)
Save                 已重載。 將 XML 文檔保存到指定的位置。
SelectNodes              已重載。
SelectSingleNode           已重載。
Supports               測試 DOM 實現是否實現特定的功能。 (繼承自 XmlNode。)
Validate               已重載。 驗證 XmlDocument 是不是 Schemas 屬性中包含的 XML 架構定義語言 (XSD) 架構。
WriteContentTo           將 XmlDocument 節點的所有子級保存到指定的 XmlWriter 中。 (重寫 XmlNode..::.WriteContentTo(XmlWriter)。)
WriteTo               將 XmlDocument 節點保存到指定的 XmlWriter。 (重寫 XmlNode..::.WriteTo(XmlWriter)。)

 三、事件

NodeChanged        當屬于該文檔的節點的 Value 已被更改時發生。
NodeChanging       當屬于該文檔的節點的 Value 將被更改時發生。
NodeInserted         當屬于該文檔的節點已被插入另一個節點時發生。
NodeInserting        當屬于該文檔的節點將被插入另一個節點時發生。
NodeRemoved        當屬于該文檔的節點已被從其父級移除時發生。
NodeRemoving       當屬于該文檔的節點將被從文檔中移除時發生。

助記屬性:

PreviousSibling  上一個兄弟節點
NextSibling    下一個兄弟節點
FirstChild     第一個子節點
LastChild     最后一個子節點
ChildNodes    子節點集合
ParentNode     父節點

代碼示例:

xml文檔:

復制代碼 代碼如下:

?xml version="1.0" encoding="utf-8" ?>
Article>
  author age="30">張三/author>
  length>12000/length>
  price>42/price>
/Article>

代碼:

復制代碼 代碼如下:

static void Main(string[] args)
        {
            XmlDocument doc = new XmlDocument();
            doc.Load(@"C:\Users\Administrator\Desktop\ConsoleApplication1\ConsoleApplication1\Test.xml");
            //先獲取一個唯一的Article節點,再獲取其下的第一個子節點 然后再獲取該節點下的屬性集合
            XmlAttributeCollection xc = doc.SelectSingleNode("Article").FirstChild.Attributes;
            string age = xc[0].Value;   //不過是一個定制的集合罷了,還是集合那套東西 //string age = xc["age"].Value; 支持兩種索引訪問
            Console.WriteLine(age);     //輸出30

            string baseuri = doc.SelectSingleNode("Article").FirstChild.BaseURI;   
            Console.WriteLine(baseuri);     //輸出 file:///C:\Users\Administrator\Desktop\ConsoleApplication1\ConsoleApplication1\Test.xml

            XmlNodeList listNode = doc.SelectSingleNode("Article").ChildNodes;  //獲取Article節點下的所有節點列表
            for (int i = 0; i listNode.Count;i++ )    //XmlNodeList不支持foreach遍歷,只能用for
            {
                Console.Write(listNode[i].Name + " : " + listNode[i].InnerText);    //輸出 author:張三 length:12000 price:30    Name獲取的是限定名,也就是標記名稱
            }

            XmlElement xe = doc.DocumentElement;    //獲取根節點
            Console.WriteLine(xe.Name);     //輸出 Article   

            //XmlDocumentType xdt = doc.DocumentType;     //獲取包含 DOCTYPE 聲明的節點。應該是由DTD限定的節點。
            //Console.Write(xdt.Name);  //此處報 未將對象引用設置到對象的實例,因為找不到有DOCTYPE聲明的元素

            Console.WriteLine(doc.HasChildNodes);    //輸出 True 當前Document是否包含子節點。

            //XmlImplementation xi = doc.Implementation;    //不懂怎么用
            //xi.ToString();   


            Console.WriteLine(doc.InnerText);   //獲取當前文檔的內容 輸出 張三 12000 30
            Console.WriteLine(doc.InnerXml);    //輸出 整個Xml文件的字符串內容
            Console.WriteLine(doc.IsReadOnly);  //獲取當前文檔是否是只讀的。輸出 False
            XmlNode node = doc.LastChild;
            Console.WriteLine(node.InnerText);  //輸出 張三 12000 30    因為最后一個節點是Article節點,輸出Article節點的所有內容
            Console.WriteLine(doc.LocalName);   //輸出 #document
            Console.WriteLine(doc.SelectSingleNode("Article").Name);    //輸出Article
            Console.WriteLine(doc.SelectSingleNode("Article").FirstChild.NextSibling.Name);     //length author的下一個兄弟節點 是length
            XmlNodeType xnt = doc.SelectSingleNode("Article").NodeType;
            Console.WriteLine(xnt);  //輸出Element,表明該節點是元素節點
            string str = doc.SelectSingleNode("Article").OuterXml;  //此節點及其所有自己點標記,輸出Article節點的所有內容 Article>省略.../Article>
            Console.WriteLine(str);
            XmlDocument x = new XmlDocument();
            x.LoadXml(str);

            Console.WriteLine(doc.SelectSingleNode("Article").OwnerDocument);   //獲取該節點所屬的XmlDocument
            XmlNode xn = doc.SelectSingleNode("Article").LastChild.ParentNode;  //ParentNode獲取直接父節點。
            Console.WriteLine(xn.Name); //輸出 Article

            Console.WriteLine(doc.PreserveWhitespace);  //是否保留空白    輸出False
            XmlNode xn1 = doc.SelectSingleNode("Article").LastChild.PreviousSibling;
            Console.WriteLine(xn1.Name);    //輸出length 的確是最后一個節點的前一個節點。

            Console.ReadKey();
        }

    為了更加好的展示一些屬性,現在將xml換成這樣:

復制代碼 代碼如下:

?xml version="1.0" encoding="utf-8" ?>
h:Article xmlns:h = "http://www.xxx.com/">
  !--默認命名空間-->
  h:author age="30">張三/h:author>
  h:length>12000/h:length>
  h:price>42/h:price>
/h:Article>

代碼如下:

復制代碼 代碼如下:

static void Main(string[] args)
        {
            XmlDocument doc = new XmlDocument();
            doc.Load(@"C:\Users\Administrator\Desktop\ConsoleApplication1\ConsoleApplication1\Test.xml");
            XmlNamespaceManager xnm = new XmlNamespaceManager(doc.NameTable);
            xnm.AddNamespace("h", "http://www.xxx.com/");
            XmlNode Article = doc.SelectSingleNode("h:Article", xnm);
            string namespace1 = Article.InnerText;
            Console.WriteLine(namespace1);      //輸出 張三 12000 30

            Console.WriteLine(Article.Prefix);  //輸出 h  獲取當前節點的前綴
            Console.WriteLine(Article.NamespaceURI);    //輸出 http://www.xxx.com/123  獲取當前節點所在的命名空間

            Console.WriteLine(Article.FirstChild.Name + "---" + Article.FirstChild.Value + "---" + Article.FirstChild.LocalName);
            //以上一行代碼輸出 h:author------author

             //SchemaInfo 返回節點的后架構驗證信息集 (PSVI)。//Value 獲取或設置節點的值。 (繼承自 XmlNode。)
             //XmlResolver 設置 XmlResolver 以用于解析外部資源。 

            Console.ReadKey();
        }

 再來一個展示一下Schemas這個常用的屬性

復制代碼 代碼如下:

static void Main(string[] args)
        {
            XmlDocument doc = new XmlDocument();    //創建文檔
            doc.Schemas.Add(null, @"C:\Users\Administrator\Desktop\ConsoleApplication1\ConsoleApplication1\person.xsd");    //添加一個架構對象到本XmlDocument
            doc.Load(@"C:\Users\Administrator\Desktop\ConsoleApplication1\ConsoleApplication1\person.xml");     //加載xml文件
            Console.WriteLine(doc.Schemas.Count);   //輸出1 就是第二行添加的那個
            Console.WriteLine(doc.SchemaInfo.MemberType);
            //XmlResolver 設置 XmlResolver 以用于解析外部資源。 

            Console.ReadKey();
        }

下面來試下XmlDocument的方法

Test.xml的代碼如下:

復制代碼 代碼如下:

?xml version="1.0" encoding="utf-8" ?>
bookstore>
  book>
    id>1/id>
    title lang="屬性1">三國演義/title>
    author>羅貫中/author>
    year>2005/year>
    price id='a1"'>38.5/price>
  /book>
  book>
    id>2/id>
    title lang="屬性2">西游記/title>
    author>吳承恩/author>
    year>2004/year>
    price>37.5/price>
  /book>
/bookstore>

主程序代碼如下:

復制代碼 代碼如下:

static void Main(string[] args)
        {
            XmlDocument doc = new XmlDocument();    //創建文檔
            doc.Load(@"C:\Users\Administrator\Desktop\ConsoleApplication1\ConsoleApplication1\Test.xml");     //加載xml文件

            XmlNode node1 = doc.CreateNode(XmlNodeType.Element, "pagecount", null);
            node1.InnerText = "222";
            doc.SelectSingleNode("/bookstore").AppendChild(node1); //執行之后 pagecount>222/pagecount>元素被添加到/bookstore>前面
            doc.Save(@"D:\123.xml");

            XmlNode node2 = doc.SelectSingleNode("/bookstore/book[1]/title[1]").Clone();    //克隆一個節點出來
            Console.WriteLine(node2.InnerText);     //輸出三國演義

            XmlNode node3 = doc.SelectSingleNode("/bookstore/book[1]/title[1]").CloneNode(true);   //參數決定是否克隆子節點數(如果false,文本節點也不克隆)
            Console.WriteLine(node3.InnerText);     //輸出三國演義

            XmlAttribute attr = doc.CreateAttribute("age");     //創建一個age屬性
            attr.Value = "23";
            doc.SelectSingleNode("/bookstore/book[1]/author[1]").Attributes.Append(attr);   //執行之后第一個作者變為 author age="23">羅貫中/author>
            doc.Save(@"D:\123.xml");

            XmlCDataSection cdata = doc.CreateCDataSection("我你");
            doc.SelectSingleNode("/bookstore/book[1]/author[1]").AppendChild(cdata);        //執行之后author變為author age="23">羅貫中![CDATA[我你]]>/author>
            doc.Save(@"D:\123.xml");

            XmlComment com = doc.CreateComment("2013-2-27 22:37:25");
            doc.SelectSingleNode("/bookstore/book[1]/title[1]").AppendChild(com);   //執行之后title變為title lang="屬性1">三國演義!--2013-2-27 22:37:25-->/title>
            doc.Save(@"D:\123.xml");

            XmlDocument doc1 = new XmlDocument();
            XmlDocumentFragment xdf = doc1.CreateDocumentFragment();    //一個xml片段,這個類敢情好用
            xdf.InnerXml = "item>widget/item>";
            doc1.AppendChild(xdf);
            Console.WriteLine(doc1.OuterXml);   //輸出item>widget/item>

            //CreateDefaultAttribute         創建具有指定前綴、本地名稱和命名空間 URI 的默認屬性。
            //CreateDocumentType          返回新的 XmlDocumentType 對象。

            XmlDocument doc2 = new XmlDocument();
            XmlElement element = doc2.CreateElement("title");   //創建一個title 如果現在保存是輸出title/> 因為還沒有內容
            doc2.AppendChild(element);
            XmlEntityReference xer = doc2.CreateEntityReference("h");
            doc2.LastChild.AppendChild(xer);
            Console.WriteLine(doc2.OuterXml);   //輸出/title>h;/title>

            XPathNavigator nav = doc2.CreateNavigator();    //一個通過光標的導航模型遍歷XML文檔的數據

            XmlText text = doc2.CreateTextNode("你好啊");  //創建一個文本節點
            doc2.SelectSingleNode("/title").AppendChild(text);
            Console.WriteLine(doc2.OuterXml);   //輸出/title>h;你好啊/title>

            XmlWhitespace xws = doc2.CreateWhitespace("     ");     //創建一個空白節點
            doc2.SelectSingleNode("/title").AppendChild(xws);
            Console.WriteLine(doc2.OuterXml);   //輸出/title>h;你好啊     /title>

            XmlDeclaration xd = doc2.CreateXmlDeclaration("1.0", "utf-8", "yes");  //xml頭  XML聲明部分
            XmlNode root = doc2.SelectSingleNode("/title");
            doc2.InsertBefore(xd, root);
            Console.WriteLine(doc2.OuterXml);   //執行之后 在頭部加入了?xml version="1.0" encoding="utf-8" standalont="yes"?>

            XmlSignificantWhitespace xsw = doc2.CreateSignificantWhitespace("      ");
            XmlElement ele = doc2.CreateElement("white");
            ele.InnerText = "空白啊空白";
            ele.AppendChild(xsw);
            doc2.SelectSingleNode("/title").AppendChild(ele);
            Console.WriteLine(doc2.OuterXml);       //還是添加一大堆空白,不知道與CreateWhitespace有什么區別

            XmlDocument doc3 = new XmlDocument();
            String PItext = "type='text/xsl' href='book.xsl'";
            XmlProcessingInstruction newPI = doc3.CreateProcessingInstruction("xml-stylesheet", PItext);
            doc3.AppendChild(newPI);
            Console.WriteLine(doc3.OuterXml);   //輸出 ?xml-stylesheet type="text/xsl" hred="book.xsl"?>
            //GetElementById           獲取具有指定 ID 的 XmlElement。
            //GetElementsByTagName        已重載。 返回一個 XmlNodeList,它包含與指定名稱匹配的所有子代元素的列表。
            //GetEnumerator            提供對 XmlNode 中節點上“for each”樣式迭代的支持。 (繼承自 XmlNode。)
            //GetNamespaceOfPrefix         查找當前節點范圍內離給定的前綴最近的 xmlns 聲明,并返回聲明中的命名空間 URI。 (繼承自 XmlNode。)
            //GetPrefixOfNamespace         查找當前節點范圍內離給定的命名空間 URI 最近的 xmlns 聲明,并返回聲明中定義的前綴。 (繼承自 XmlNode。)
            //ImportNode             將節點從另一個文檔導入到當前文檔。
            //InsertAfter               將指定的節點緊接著插入指定的引用節點之后。 (繼承自 XmlNode。)
            //InsertBefore             將指定的節點緊接著插入指定的引用節點之前。 (繼承自 XmlNode。)

            //LoadXml                從指定的字符串加載 XML 文檔。
            //Normalize              將此 XmlNode 下子樹完全深度中的所有 XmlText 節點都轉換成“正常”形式,在這種形式中只有標記(即標記、注釋、處理指令、                    CDATA 節和實體引用)分隔 XmlText 節點,也就是說,沒有相鄰的 XmlText 節點。 (繼承自 XmlNode。)
            //PrependChild             將指定的節點添加到該節點的子節點列表的開頭。 (繼承自 XmlNode。)
            //ReadNode               根據 XmlReader 中的信息創建一個 XmlNode 對象。讀取器必須定位在節點或屬性上。
            //RemoveAll               移除當前節點的所有子節點和/或屬性。 (繼承自 XmlNode。)
            //RemoveChild             移除指定的子節點。 (繼承自 XmlNode。)
            //ReplaceChild             用 newChild 節點替換子節點 oldChild。 (繼承自 XmlNode。)


            //Supports               測試 DOM 實現是否實現特定的功能。 (繼承自 XmlNode。)
            //Validate               已重載。 驗證 XmlDocument 是不是 Schemas 屬性中包含的 XML 架構定義語言 (XSD) 架構。
            //WriteContentTo           將 XmlDocument 節點的所有子級保存到指定的 XmlWriter 中。 (重寫 XmlNode..::.WriteContentTo(XmlWriter)。)
            //WriteTo               將 XmlDocument 節點保存到指定的 XmlWriter。 (重寫 XmlNode..::.WriteTo(XmlWriter)。)
            Console.ReadKey();
        }

您可能感興趣的文章:
  • Asp.Net+XML操作基類(修改,刪除,新增,創建)
  • asp.net下創建、查詢、修改帶名稱空間的 XML 文件的例子
  • ASP.NET中根據XML動態創建使用WEB組件
  • asp.net實現在XmlTextWriter中寫入一個CDATA的方法
  • asp.net簡單生成XML文件的方法
  • asp.net實現輸出xml的方法
  • ASP.NET實現TreeView的XML數據源綁定實例代碼
  • ASP.NET中的Menu控件的應用及XmlDataSource的了解
  • ASP.NET+XML打造網絡硬盤原理分析
  • ASP.NET讀取XML文件4種方法分析
  • asp.net下XML的加密和解密實現方法
  • asp.net創建XML文件的方法小結

標簽:固原 池州 吉林 廣元 樂山 賀州 淮北 咸寧

巨人網絡通訊聲明:本文標題《ASP.NET XmlDocument類詳解》,本文關鍵詞  ASP.NET,XmlDocument,類,詳解,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《ASP.NET XmlDocument類詳解》相關的同類信息!
  • 本頁收集關于ASP.NET XmlDocument類詳解的相關信息資訊供網民參考!
  • 推薦文章
    婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av
    日韩精品一区二区三区视频播放| 成人免费毛片嘿嘿连载视频| 在线播放中文一区| 丰满岳乱妇一区二区三区| 亚洲综合一区在线| 中文字幕国产一区| 91精品国产手机| 在线亚洲欧美专区二区| 成人性视频网站| 国产在线精品一区二区不卡了| 午夜久久久久久| 亚洲一区二区影院| 在线观看不卡一区| 成人avav影音| 成人av电影观看| 成人永久aaa| 成人av网址在线| 不卡av电影在线播放| 成人精品亚洲人成在线| 国产夫妻精品视频| 春色校园综合激情亚洲| 亚洲精品国产视频| 成人免费视频在线观看| 国产精品萝li| 综合在线观看色| 日韩一区欧美小说| 亚洲欧美在线视频| 亚洲免费在线视频| 亚洲国产视频直播| 午夜精品福利久久久| 亚洲无人区一区| 婷婷中文字幕一区三区| 日韩精品视频网站| 极品少妇xxxx精品少妇偷拍| 国产精品自产自拍| 99天天综合性| 中文在线一区二区| 亚洲欧美偷拍卡通变态| 亚洲一区二区三区中文字幕在线| 欧美一区二区黄色| 欧美成人女星排行榜| 国产校园另类小说区| 国产精品高潮久久久久无| 亚洲美女免费在线| 日本不卡高清视频| 成人激情小说网站| 欧美在线视频日韩| 欧美不卡一二三| 天堂va蜜桃一区二区三区漫画版 | 欧美午夜电影网| 欧美精品自拍偷拍| 久久亚洲二区三区| 亚洲精品乱码久久久久久日本蜜臀| 亚洲成人一二三| 国产精品一级片在线观看| 日本乱码高清不卡字幕| 91麻豆精品国产无毒不卡在线观看| 久久久99久久| 午夜视频一区在线观看| 国产ts人妖一区二区| 欧美日韩精品一区二区三区 | 欧美男生操女生| 国产亚洲综合av| 天天亚洲美女在线视频| 成人综合在线观看| 91精品国产色综合久久ai换脸 | 成人免费小视频| 天堂影院一区二区| 成人黄色软件下载| 6080国产精品一区二区| 国产精品不卡视频| 久久国产成人午夜av影院| 色呦呦一区二区三区| 精品国产123| 国产亚洲欧美日韩日本| 亚洲一区二区三区四区五区黄| 国产精品一区二区在线看| 欧美日韩国产经典色站一区二区三区| 国产欧美视频一区二区三区| 蜜臀av性久久久久蜜臀aⅴ流畅| 91免费在线看| 日本一区二区三区电影| 久久精品久久99精品久久| 欧美日韩中文一区| 一区二区三区在线视频免费观看| 成人少妇影院yyyy| 国产日本一区二区| 国产乱码精品一区二区三区五月婷| 欧美一区二区二区| 天堂久久一区二区三区| 在线播放日韩导航| 舔着乳尖日韩一区| 欧美视频一区二区三区四区| 一区二区三区四区视频精品免费 | 午夜电影网一区| 93久久精品日日躁夜夜躁欧美| 久久久久久一二三区| 精品在线免费视频| 欧美电影免费观看高清完整版| 天堂影院一区二区| 欧美一区国产二区| 蜜桃91丨九色丨蝌蚪91桃色| 91麻豆精品91久久久久同性| 日韩和的一区二区| 欧美日韩国产一二三| 午夜在线电影亚洲一区| 欧美日韩国产色站一区二区三区| 午夜视频在线观看一区二区三区| 在线电影院国产精品| 精彩视频一区二区| 久久久久9999亚洲精品| 北岛玲一区二区三区四区| 日本一区二区三区在线观看| 成人国产一区二区三区精品| 在线亚洲精品福利网址导航| 亚洲宅男天堂在线观看无病毒| 欧美三级电影网站| 久久精品国产网站| 国产亚洲精品资源在线26u| 国产成人精品免费视频网站| 久久先锋影音av| 91美女在线视频| 日本亚洲一区二区| 日本一区二区免费在线观看视频 | 亚洲婷婷综合久久一本伊一区| 91香蕉视频污| 香蕉影视欧美成人| 欧美精品一区二区高清在线观看| 成人黄色小视频| 国产在线播放一区| 另类成人小视频在线| 久久久精品天堂| 在线观看亚洲精品视频| 久久99精品国产| 亚洲视频小说图片| 91麻豆精品国产自产在线观看一区| 国产成a人无v码亚洲福利| 亚洲九九爱视频| 日韩精品一区二区在线观看| 91在线看国产| 免费成人美女在线观看| 国产精品久久久久影院色老大| 欧美日免费三级在线| 国产精品羞羞答答xxdd| 亚洲成人黄色影院| 国产精品蜜臀在线观看| 免费在线观看日韩欧美| 亚洲乱码中文字幕| 国产视频一区二区在线| 欧美男女性生活在线直播观看| 成人午夜私人影院| 久久av中文字幕片| 亚洲一区二区三区国产| 中文字幕精品一区二区三区精品| 666欧美在线视频| 99精品一区二区| 国产精品一区在线观看你懂的| 久久成人18免费观看| 欧美精品一区视频| 欧美日韩一区久久| 99久久精品费精品国产一区二区| 麻豆中文一区二区| 亚洲高清免费一级二级三级| 最新久久zyz资源站| 久久蜜桃一区二区| 91精品国产欧美一区二区成人| 日本韩国视频一区二区| 99久久99久久精品免费看蜜桃| 成人午夜看片网址| 国产精品一区二区久激情瑜伽| 精品一区二区三区香蕉蜜桃| 免费在线看一区| 欧美a级理论片| 在线看国产一区二区| 色综合久久久久综合| kk眼镜猥琐国模调教系列一区二区| 国产美女av一区二区三区| 免费精品视频在线| 亚洲精品一区二区三区蜜桃下载| 日韩区在线观看| 日韩一区二区在线看| 日韩女优电影在线观看| 欧美mv日韩mv国产网站app| 欧美电影免费观看高清完整版在线 | 夜夜嗨av一区二区三区四季av| 中文字幕一区二区5566日韩| 国产精品私人影院| 国产精品免费av| 亚洲综合色自拍一区| 亚洲成av人**亚洲成av**| 日韩av网站在线观看| 狠狠色伊人亚洲综合成人| 国产精品中文字幕日韩精品 | 精品日韩在线一区| 久久精品在这里| 久久视频一区二区| 久久美女艺术照精彩视频福利播放 | 久久亚洲精华国产精华液 | 久久网这里都是精品| 亚洲精品乱码久久久久|