日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 编程问答 >内容正文

编程问答

HtmlAgilityPack 之 HtmlNode类

發(fā)布時(shí)間:2025/3/15 编程问答 36 豆豆
生活随笔 收集整理的這篇文章主要介紹了 HtmlAgilityPack 之 HtmlNode类 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

HtmlAgilityPack中的HtmlNode類與XmlNode類差不多,提供的功能也大同小異。下面來(lái)看看該類提供功能。

一、靜態(tài)屬性

public static Dictionary<string, HtmlElementFlag> //ElementsFlags;獲取集合的定義為特定的元素節(jié)點(diǎn)的特定行為的標(biāo)志。表包含小寫(xiě)標(biāo)記名稱作為鍵和作為值的 HtmlElementFlags 組合 DictionaryEntry 列表。 public static readonly string HtmlNodeTypeNameComment;  //獲取一個(gè)注釋節(jié)點(diǎn)的名稱。實(shí)際上,它被定義為 '#comment public static readonly string HtmlNodeTypeNameDocument;  //獲取文檔節(jié)點(diǎn)的名稱。實(shí)際上,它被定義為 '#document' public static readonly string HtmlNodeTypeNameText;     //獲取一個(gè)文本節(jié)點(diǎn)的名稱。實(shí)際上,它被定義為 '#text'

二、屬性

Attributes             獲取節(jié)點(diǎn)的屬性集合
ChildNodes            獲取子節(jié)點(diǎn)集合(包括文本節(jié)點(diǎn))
Closed              該節(jié)點(diǎn)是否已關(guān)閉(</xxx>)
ClosingAttributes         ?在關(guān)閉標(biāo)簽的屬性集合
FirstChild             ?獲取第一個(gè)子節(jié)點(diǎn)
HasAttributes           ?判斷該節(jié)點(diǎn)是否含有屬性
HasChildNodes          判斷該節(jié)點(diǎn)是否含有子節(jié)點(diǎn)
HasClosingAttributes       ?判斷該節(jié)點(diǎn)的關(guān)閉標(biāo)簽是否含有屬性(</xxx class="xxx">)
Id                 獲取該節(jié)點(diǎn)的Id屬性
InnerHtml             獲取該節(jié)點(diǎn)的Html代碼
InnerText             獲取該節(jié)點(diǎn)的內(nèi)容,與InnerHtml不同的地方在于它會(huì)過(guò)濾掉Html代碼,而InnerHtml是連Html代碼一起輸出
LastChild             ?獲取最后一個(gè)子節(jié)點(diǎn)
Line                獲取該節(jié)點(diǎn)的開(kāi)始標(biāo)簽或開(kāi)始代碼位于整個(gè)HTML源代碼的第幾行(行號(hào))
LinePosition            獲取該節(jié)點(diǎn)位于第幾列
Name               ?Html元素名
NextSibling            獲取下一個(gè)兄弟節(jié)點(diǎn)
NodeType             ?獲取該節(jié)點(diǎn)的節(jié)點(diǎn)類型
OriginalName           獲取原始的未經(jīng)更改的元素名
OuterHtml             整個(gè)節(jié)點(diǎn)的代碼
OwnerDocument         節(jié)點(diǎn)所在的HtmlDocument文檔
ParentNode            獲取該節(jié)點(diǎn)的父節(jié)點(diǎn)
PreviousSibling          獲取前一個(gè)兄弟節(jié)點(diǎn)
StreamPosition          該節(jié)點(diǎn)位于整個(gè)Html文檔的字符位置
XPath               ?根據(jù)節(jié)點(diǎn)返回該節(jié)點(diǎn)的XPath

代碼示例:

static void Main(string[] args){//<ul class="user_match clear">// <li>年齡:21~30之間</li>// <li>婚史:未婚</li>// <li>地區(qū):不限</li>// <li>身高:175~185厘米之間</li>// <li>學(xué)歷:不限</li>// <li>職業(yè):不限</li>// <li>月薪:不限</li>// <li>住房:不限</li>// <li>購(gòu)車:不限</li>//</ul>WebClient wc = new WebClient();wc.BaseAddress = "http://www.juedui100.com/";wc.Encoding = Encoding.UTF8;HtmlDocument doc = new HtmlDocument();string html = wc.DownloadString("user/6971070.html");doc.LoadHtml(html);HtmlNode node = doc.DocumentNode.SelectSingleNode("/html/body/div[4]/div[1]/div[2]/ul[1]"); //根據(jù)XPath查找節(jié)點(diǎn),跟XmlNode差不多Console.WriteLine(node.InnerText); //輸出節(jié)點(diǎn)內(nèi)容 年齡:21~30之間 婚史:未婚 ...... 與InnerHtml的區(qū)別在于,它不會(huì)輸出HTML代碼Console.WriteLine(node.InnerHtml); //輸出節(jié)點(diǎn)Html <li>年齡:21~30之間</li> <li>婚史:未婚</li> ....Console.WriteLine(node.Name); //輸出 ul Html元素名 HtmlAttributeCollection attrs = node.Attributes;foreach(var item in attrs){Console.WriteLine(item.Name + " : " + item.Value); //輸出 class :user_match clear}HtmlNodeCollection CNodes = node.ChildNodes; //所有的子節(jié)點(diǎn)foreach (HtmlNode item in CNodes){Console.WriteLine(item.Name + "-" + item.InnerText); //輸出 li-年齡:21~30之間#text- li-婚史:未婚#text- ....... 別忘了文本節(jié)點(diǎn)也算}Console.WriteLine(node.Closed); //輸出True //當(dāng)前的元素節(jié)點(diǎn)是否已封閉Console.WriteLine("================================");HtmlAttributeCollection attrs1 = node.ClosingAttributes; //獲取在結(jié)束標(biāo)記的 HTML 屬性的集合。 例如</ul class="">Console.WriteLine(attrs1.Count); //輸出0HtmlNode node1 = node.FirstChild; //悲劇了ul的第一個(gè)節(jié)點(diǎn)是一個(gè) \n 換行文本節(jié)點(diǎn) 第二個(gè)節(jié)點(diǎn)才到第一個(gè)liConsole.WriteLine(node1.NodeType); //輸出Text 文本節(jié)點(diǎn)HtmlNode node3 = node.LastChild; //同樣最后一個(gè)節(jié)點(diǎn)一樣是 \n 文本節(jié)點(diǎn)Console.WriteLine(node3.NodeType); //輸出Text 文本節(jié)點(diǎn)HtmlNode node2 = node.SelectSingleNode("child::li[1]"); //獲取當(dāng)前節(jié)點(diǎn)的第一個(gè)子li節(jié)點(diǎn)Console.WriteLine(node2.XPath); //根據(jù)節(jié)點(diǎn)生成XPath表達(dá)式 /html/body/div[4]/div[1]/div[2]/ul[1]/li[1] 媽了個(gè)B,強(qiáng)大Console.WriteLine(node.HasAttributes); //輸出 True 判斷節(jié)點(diǎn)是否含有屬性Console.WriteLine(node.HasChildNodes); //輸出 True 判斷節(jié)點(diǎn)是否含有子節(jié)點(diǎn)Console.WriteLine(node.HasClosingAttributes); //False 判斷節(jié)點(diǎn)結(jié)束標(biāo)記是否含有屬性Console.WriteLine(node.Line); //輸出 155 該節(jié)點(diǎn)開(kāi)始標(biāo)記位于頁(yè)面代碼的第幾行Console.WriteLine(node.LinePosition); //輸出 1 該節(jié)點(diǎn)開(kāi)始標(biāo)記位于第幾列2Console.WriteLine(node.NodeType); //輸出 Element 該節(jié)點(diǎn)類型 此處為元素節(jié)點(diǎn) Console.WriteLine(node.OriginalName); //輸出 ulHtmlNode node4 = node.SelectSingleNode("child::li[1]");Console.WriteLine(node4.InnerText); //輸出 年齡:21~30之間HtmlNode node5 = node4.NextSibling.NextSibling; //獲取下一個(gè)兄弟元素 因?yàn)橛幸粋€(gè)換行符的文本節(jié)點(diǎn),因此要兩次,跳過(guò)換行那個(gè)文本節(jié)點(diǎn)Console.WriteLine(node5.InnerText); //輸出 婚史:未婚HtmlNode node6 = node5.PreviousSibling.PreviousSibling; //同樣兩次以跳過(guò)換行文本節(jié)點(diǎn)Console.WriteLine(node6.InnerText); //輸出 年齡:21~30之間HtmlNode node7 = node6.ParentNode; //獲取父節(jié)點(diǎn)Console.WriteLine(node7.Name); //輸出 ulstring str = node.OuterHtml;Console.WriteLine(str); //輸出整個(gè)ul代碼class="user_match clear"><li>年齡:21~30之間</li>...</ul>Console.WriteLine(node.StreamPosition); //輸出7331 獲取此節(jié)點(diǎn)的流位置在文檔中,相對(duì)于整個(gè)文檔(Html頁(yè)面源代碼)的開(kāi)始。HtmlDocument doc1 = node.OwnerDocument;doc1.Save(@"D:\123.html");HtmlNode node8 = doc.DocumentNode.SelectSingleNode("//*[@id=\"coll_add_aid59710701\"]");//<a id="coll_add_aid59710701" style="display:block" class="coll_fix needlogin" href="javascript:coll_add(5971070)">收藏</a>Console.WriteLine(node8.Id); //輸出 coll_add_aid59710701 獲取Id屬性的內(nèi)容Console.ReadKey();}

三、方法

IEnumerable<HtmlNode> Ancestors();               返回此元素的所有上級(jí)節(jié)點(diǎn)的集合。
IEnumerable<HtmlNode> Ancestors(string name);          ?返回此元素參數(shù)名字匹配的所有上級(jí)節(jié)點(diǎn)的集合。
IEnumerable<HtmlNode> AncestorsAndSelf();            返回此元素的所有上級(jí)節(jié)點(diǎn)和自身的集合。
IEnumerable<HtmlNode> AncestorsAndSelf(string name);      返回此元素的名字匹配的所有上級(jí)節(jié)點(diǎn)和自身的集合。
HtmlNode AppendChild(HtmlNode newChild);            ? 將參數(shù)元素追加到為調(diào)用元素的子元素(追加在最后)
void AppendChildren(HtmlNodeCollection newChildren);       將參數(shù)集合中的元素追加為調(diào)用元素的子元素(追加在最后)
HtmlNode PrependChild(HtmlNode newChild);           ? ?將參數(shù)中的元素作為子元素,放在調(diào)用元素的最前面
void PrependChildren(HtmlNodeCollection newChildren);       將參數(shù)集合中的所有元素作為子元素,放在調(diào)用元素前面
static bool CanOverlapElement(string name);            ?確定是否可以保存重復(fù)的元素
IEnumerable<HtmlAttribute> ChildAttributes(string name);     獲取所有子元素的屬性(參數(shù)名要與元素名匹配)
HtmlNode Clone();                          本節(jié)點(diǎn)克隆到一個(gè)新的節(jié)點(diǎn)
HtmlNode CloneNode(bool deep);                  節(jié)點(diǎn)克隆到一個(gè)新的幾點(diǎn),參數(shù)確定是否連子元素一起克隆
HtmlNode CloneNode(string newName);               克隆的同時(shí)更改元素名
HtmlNode CloneNode(string newName, bool deep);         ?克隆的同時(shí)更改元素名。參數(shù)確定是否連子元素一起克隆
void CopyFrom(HtmlNode node);                  ?創(chuàng)建重復(fù)的節(jié)點(diǎn)和其下的子樹(shù)。
void CopyFrom(HtmlNode node, bool deep);            ?創(chuàng)建節(jié)點(diǎn)的副本。
XPathNavigator CreateNavigator();                  返回的一個(gè)對(duì)于此文檔的XPathNavigator?
static HtmlNode CreateNode(string html);             ? 靜態(tài)方法,允許用字符串創(chuàng)建一個(gè)新節(jié)點(diǎn)
XPathNavigator CreateRootNavigator();               創(chuàng)建一個(gè)根路徑的XPathNavigator?
IEnumerable<HtmlNode> DescendantNodes();            獲取所有子代節(jié)點(diǎn)
IEnumerable<HtmlNode> DescendantNodesAndSelf();        獲取所有的子代節(jié)點(diǎn)以及自身
IEnumerable<HtmlNode> Descendants();              獲取枚舉列表中的所有子代節(jié)點(diǎn)
IEnumerable<HtmlNode> Descendants(string name);        獲取枚舉列表中的所有子代節(jié)點(diǎn),注意元素名要與參數(shù)匹配
IEnumerable<HtmlNode> DescendantsAndSelf();          獲取枚舉列表中的所有子代節(jié)點(diǎn)以及自身
IEnumerable<HtmlNode> DescendantsAndSelf(string name);   ?獲取枚舉列表中的所有子代節(jié)點(diǎn)以及自身,注意元素名要與參數(shù)匹配
HtmlNode Element(string name);                  ?根據(jù)參數(shù)名獲取一個(gè)元素
IEnumerable<HtmlNode> Elements(string name);          根據(jù)參數(shù)名獲取匹配的元素集合
bool GetAttributeValue(string name, bool def);           ?幫助方法,用來(lái)獲取此節(jié)點(diǎn)的屬性的值(布爾類型)。如果未找到該屬性,則將返回默認(rèn)值。
int GetAttributeValue(string name, int def);             ?幫助方法,用來(lái)獲取此節(jié)點(diǎn)的屬性的值(整型)。如果未找到該屬性,則將返回默認(rèn)值。
string GetAttributeValue(string name, string def);          幫助方法,用來(lái)獲取此節(jié)點(diǎn)的屬性的值(字符串類型)。如果未找到該屬性,則將返回默認(rèn)值。
HtmlNode InsertAfter(HtmlNode newChild, HtmlNode refChild);    ?將一個(gè)節(jié)點(diǎn)插入到第二個(gè)參數(shù)節(jié)點(diǎn)的后面,與第二個(gè)參數(shù)是兄弟關(guān)系
HtmlNode InsertBefore(HtmlNode newChild, HtmlNode refChild);   講一個(gè)節(jié)點(diǎn)插入到第二個(gè)參數(shù)節(jié)點(diǎn)的后面,與第二個(gè)參數(shù)是兄弟關(guān)系
static bool IsCDataElement(string name);              ?確定是否一個(gè)元素節(jié)點(diǎn)是一個(gè) CDATA 元素節(jié)點(diǎn)。
static bool IsClosedElement(string name);              確定是否封閉的元素節(jié)點(diǎn)
static bool IsEmptyElement(string name);             ? ?確定是否一個(gè)空的元素節(jié)點(diǎn)。
static bool IsOverlappedClosingElement(string text);         ?確定是否文本對(duì)應(yīng)于一個(gè)節(jié)點(diǎn)可以保留重疊的結(jié)束標(biāo)記。
void Remove();                           ?從父集合中移除調(diào)用節(jié)點(diǎn)
void RemoveAll();                          ?移除調(diào)用節(jié)點(diǎn)的所有子節(jié)點(diǎn)以及屬性
void RemoveAllChildren();                      ?移除調(diào)用節(jié)點(diǎn)的所有子節(jié)點(diǎn)
HtmlNode RemoveChild(HtmlNode oldChild);             ?移除調(diào)用節(jié)點(diǎn)的指定名字的子節(jié)點(diǎn)
HtmlNode RemoveChild(HtmlNode oldChild, bool keepGrandChildren);移除調(diào)用節(jié)點(diǎn)調(diào)用名字的子節(jié)點(diǎn),第二個(gè)參數(shù)確定是否連孫子節(jié)點(diǎn)一起移除
HtmlNode ReplaceChild(HtmlNode newChild, HtmlNode oldChild);   將調(diào)用節(jié)點(diǎn)原有的一個(gè)子節(jié)點(diǎn)替換為一個(gè)新的節(jié)點(diǎn),第二個(gè)參數(shù)是舊節(jié)點(diǎn)
HtmlNodeCollection SelectNodes(string xpath);           根據(jù)XPath獲取一個(gè)節(jié)點(diǎn)集合
HtmlNode SelectSingleNode(string xpath);              根據(jù)XPath獲取唯一的一個(gè)節(jié)點(diǎn)
HtmlAttribute SetAttributeValue(string name, string value);     ?設(shè)置調(diào)用節(jié)點(diǎn)的屬性
string WriteContentTo();                       ?將該節(jié)點(diǎn)的所有子級(jí)都保存到一個(gè)字符串中。
void WriteContentTo(TextWriter outText);              將該節(jié)點(diǎn)的所有子級(jí)都保存到指定的 TextWriter。
string WriteTo();                           將當(dāng)前節(jié)點(diǎn)保存到一個(gè)字符串中。
void WriteTo(TextWriter outText);                  將當(dāng)前節(jié)點(diǎn)保存到指定的 TextWriter。
void WriteTo(XmlWriter writer);                    ?將當(dāng)前節(jié)點(diǎn)保存到指定的則 XmlWriter。

  示例代碼:

static void Main(string[] args){//<ul class="user_match clear">// <li>年齡:21~30之間</li>// <li>婚史:未婚</li>// <li>地區(qū):不限</li>// <li>身高:175~185厘米之間</li>// <li>學(xué)歷:不限</li>// <li>職業(yè):不限</li>// <li>月薪:不限</li>// <li>住房:不限</li>// <li>購(gòu)車:不限</li>//</ul>WebClient wc = new WebClient();wc.BaseAddress = "http://www.juedui100.com/";wc.Encoding = Encoding.UTF8;HtmlDocument doc = new HtmlDocument();string html = wc.DownloadString("user/6971070.html");doc.LoadHtml(html);HtmlNode node = doc.DocumentNode.SelectSingleNode("/html/body/div[4]/div[1]/div[2]/ul[1]"); //根據(jù)XPath查找節(jié)點(diǎn),跟XmlNode差不多IEnumerable<HtmlNode> nodeList = node.Ancestors(); //獲取該元素所有的父節(jié)點(diǎn)的集合foreach (HtmlNode item in nodeList){Console.Write(item.Name + " "); //輸出 div div body html #document}Console.WriteLine();IEnumerable<HtmlNode> nodeList1 = node.Ancestors("body"); //獲取名字匹配的該元素的父集合,其實(shí)參數(shù)就是一個(gè)篩選的功能foreach (HtmlNode item in nodeList1){Console.Write(item.Name + " "); //輸出 body}Console.WriteLine();IEnumerable<HtmlNode> nodeList2 = node.AncestorsAndSelf(); //獲取所有的父節(jié)點(diǎn)和自身foreach (HtmlNode item in nodeList2){Console.Write(item.Name + " "); //輸出 ul div div div body html #document}Console.WriteLine();IEnumerable<HtmlNode> nodeList3 = node.AncestorsAndSelf("div"); //獲取父節(jié)點(diǎn)和自身,參數(shù)用于篩選foreach (HtmlNode item in nodeList3){Console.Write(item.Name + " "); //輸出 div div div}Console.WriteLine();HtmlNode node1 = doc.CreateElement("li");node1.InnerHtml = "我是附加的li元素";node.AppendChild(node1); //...<li>購(gòu)車:不限</li> 后面加了一個(gè)<li>我是附加的li元素</li>Console.WriteLine(node.InnerHtml);HtmlNode node2 = doc.CreateElement("li");node2.InnerHtml = "新li一";HtmlNode node3 = doc.CreateElement("li");node3.InnerHtml = "新li二";HtmlNodeCollection nc = new HtmlNodeCollection(node2);nc.Add(node2);nc.Add(node3);node.AppendChildren(nc); //一次過(guò)追加多個(gè)元素Console.WriteLine(node.InnerHtml); //...<li>我是附加的li元素</li><li>新li一</li><li>新li二</li>Console.WriteLine(HtmlNode.CanOverlapElement("node2")); //輸出False 確定是否可以保存一個(gè)重復(fù)的元素IEnumerable<HtmlAttribute> attrs = node.ChildAttributes("class"); //獲取子節(jié)點(diǎn)與自身的所有名為class的屬性集合foreach (HtmlAttribute attr in attrs){Console.Write(attr.Value); //輸出 user_match clear }HtmlNode node4 = node.Clone();Console.WriteLine(node4.InnerHtml); //輸出node的代碼,node已被復(fù)制到了nodeHtmlNode node5 = node.CloneNode(false); //參數(shù)決定是否復(fù)制子節(jié)點(diǎn),與XmlNode一樣Console.WriteLine(node5.OuterHtml); //<ul class="user_match clear"></ul> 因?yàn)閰?shù)設(shè)為了false子節(jié)點(diǎn)沒(méi)有被復(fù)制HtmlNode node6 = node.CloneNode("div"); //復(fù)制節(jié)點(diǎn)的同時(shí),更改名字Console.WriteLine(node6.OuterHtml); //輸出 <div class="user_match clear"><li>年齡:21~30之間</li>...</div> ul已被改為了divHtmlNode node7 = node.CloneNode("table",false);Console.WriteLine(node7.OuterHtml); //輸出<table class="user_match clear"></table> 參數(shù)為false所以沒(méi)有復(fù)制子節(jié)點(diǎn)HtmlNode node8 = node.SelectSingleNode("child::li[1]");node.CopyFrom(node);Console.WriteLine(node.OuterHtml);Console.WriteLine("========================");//public void CopyFrom(HtmlNode node);//public void CopyFrom(HtmlNode node, bool deep);//public XPathNavigator CreateNavigator();//public XPathNavigator CreateRootNavigator();HtmlNode node9 = HtmlNode.CreateNode("<li>新節(jié)點(diǎn)</li>"); //直接用字符串創(chuàng)建節(jié)點(diǎn),還是挺好用的Console.WriteLine(node9.OuterHtml); //輸出 <li>新節(jié)點(diǎn)</li>IEnumerable<HtmlNode> nodeList4 = node.DescendantNodes(); //獲取所有的子節(jié)點(diǎn)集合foreach (HtmlNode item in nodeList4){Console.Write(item.OuterHtml); //輸出 node的每個(gè)子li節(jié)點(diǎn)}Console.WriteLine("===================");IEnumerable<HtmlNode> nodeList5 = node.DescendantNodesAndSelf();foreach (HtmlNode item in nodeList5){Console.Write(item.OuterHtml); //輸出自身<ul>..包括子節(jié)點(diǎn)<li>...</li></ul> 再輸出所有的子li節(jié)點(diǎn)}Console.WriteLine();IEnumerable<HtmlNode> nodeList6 = node.DescendantNodes(); //獲取枚舉列表中的所有子代節(jié)foreach (HtmlNode item in nodeList6){Console.Write(item.InnerText); //輸出所有的li節(jié)點(diǎn)的內(nèi)容}Console.WriteLine("---------------");IEnumerable<HtmlNode> nodeList7 = node.Descendants("li"); //獲取所有的子后代元素 //文本節(jié)點(diǎn)不在此范圍內(nèi)foreach(HtmlNode item in nodeList7){Console.Write(item.InnerText); }IEnumerable<HtmlNode> nodeList8 = node.DescendantsAndSelf("ul"); //獲取所有的子后代元素 //文本節(jié)點(diǎn)不在此范圍內(nèi)foreach (HtmlNode item in nodeList8){Console.Write(item.Name); //輸出 ul 參數(shù)實(shí)際上只相當(dāng)于過(guò)濾的作用}HtmlNode node10 = node.Element("li"); //獲取第一個(gè)子節(jié)點(diǎn)名稱匹配的元素Console.WriteLine(node10.InnerText); //輸出 年齡:年齡:21~30之間Console.WriteLine("----------------------------------------");IEnumerable<HtmlNode> nodeList9 = node.Elements("li");foreach (HtmlNode item in nodeList9){Console.Write(item.InnerText); //輸出 所有的li節(jié)點(diǎn)內(nèi)容}Console.WriteLine();//換一個(gè)新的,好像有點(diǎn)亂了HtmlNode newnode = doc.DocumentNode.SelectSingleNode("/html/body/div[4]/div[1]/div[3]");//<div class="col say">// <h3>愛(ài)情獨(dú)白</h3>// <p>愿得一心人,白首不相離。我一直相信我的另一半就在茫茫人海中,有一天一定會(huì)與我相遇。</p>//</div>//bool b = newnode.GetAttributeValue("class", false); //獲取一個(gè)布爾值的屬性,沒(méi)有找到則返回第二個(gè)參數(shù)的默認(rèn)值//Console.WriteLine(b);//int i = newnode.GetAttributeValue("class", 0); //獲取一個(gè)整形的屬性,沒(méi)有找到則返回第二個(gè)參數(shù)的默認(rèn)值//Console.WriteLine(i);string str = newnode.GetAttributeValue("class", ""); //獲取一個(gè)字符串屬性Console.WriteLine(str); //輸出 col sayHtmlNode node11 = HtmlNode.CreateNode("<b>我是加粗節(jié)點(diǎn)</b>");HtmlNode node12 = newnode.SelectSingleNode("h3");newnode.InsertAfter(node11, node12); //意思是在node12代表的h3節(jié)點(diǎn)后面插入node11節(jié)點(diǎn)Console.WriteLine(newnode.InnerHtml); //h3>愛(ài)情獨(dú)白</h3><b>我是加粗節(jié)點(diǎn)</b><p>愿得一心人... 留意到b節(jié)點(diǎn)已經(jīng)被插入到h3后面newnode.InsertBefore(node11, node12); //再插入多一次,方法不同罷了,這次是在node12帶包的h3前面插入Console.WriteLine(newnode.InnerHtml); //<b>我是加粗節(jié)點(diǎn)</b><h3>愛(ài)情獨(dú)白</h3><b>我是加粗節(jié)點(diǎn)</b><p>愿得一心人Console.WriteLine("xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx");newnode.RemoveChild(node11); //移除了第一個(gè)<b>我是加粗節(jié)點(diǎn)</b> 此方法的重載,第二個(gè)參數(shù)決定是否移除孫子節(jié)點(diǎn)Console.WriteLine(newnode.InnerHtml); //<h3>愛(ài)情獨(dú)白</h3><b>我是加粗節(jié)點(diǎn)</b><p>愿得一心人....newnode.RemoveAllChildren(); //移除所有子節(jié)點(diǎn)Console.WriteLine(newnode.OuterHtml); //<div class="col say"></div> 所有子節(jié)點(diǎn)都被移除了newnode.RemoveAll(); //移除所有的屬性和子節(jié)點(diǎn),由于子節(jié)點(diǎn)已經(jīng)被上個(gè)方法移除了,因此這次連屬性也移除了Console.WriteLine(newnode.OuterHtml); //輸出 <div></div> 注意到屬性也被移除了。//都移除光了,再來(lái)一個(gè),還是剛才那個(gè)HtmlNode newnode1 = doc.DocumentNode.SelectSingleNode("/html/body/div[4]/div[1]/div[3]");Console.WriteLine("===================");Console.WriteLine(newnode1.OuterHtml); //輸出 <div></div> 注意 移除是從HtmlDocument中移除的,再次獲取獲取不到了HtmlNode newnode2 = doc.DocumentNode.SelectSingleNode("/html/body/div[4]/div[1]/div[2]/div[2]/p");Console.WriteLine(newnode2.OuterHtml);//<p class="no_tip">她還沒(méi)有設(shè)置不能忍受清單 // <a href="javascript:invite(5971070,8,'邀請(qǐng)?jiān)O(shè)置不能忍受');" class="link_b needlogin">邀請(qǐng)她設(shè)置</a>//</p>newnode2.Remove(); //從文檔樹(shù)中移除newnode2節(jié)點(diǎn)HtmlNode newnode3 = doc.DocumentNode.SelectSingleNode("/html/body/div[4]/div[1]/div[2]/div[2]/p"); //再次獲取該節(jié)點(diǎn)//Console.WriteLine(newnode3.OuterHtml); //報(bào)未將對(duì)象引用到對(duì)象的實(shí)例異常,明顯是找不到了,HtmlNode newnode4 = doc.DocumentNode.SelectSingleNode("/html/body/div[4]/div[1]/div[1]/div/div[1]/p[2]/b[1]");Console.WriteLine(newnode4.OuterHtml);//<b>相冊(cè):// <a href="/photo/6971070.html" class="red">4</a>張//</b>HtmlNode node17 = HtmlNode.CreateNode("<div>再次創(chuàng)建一個(gè)節(jié)點(diǎn)</div>");newnode4.PrependChild(node17); //跟AppengChild類似,只是插入位置不同PrependChildren接受一個(gè)節(jié)點(diǎn)集合,一次過(guò)插入多個(gè)節(jié)點(diǎn)而已Console.WriteLine(newnode4.OuterHtml); //輸出//<b>相冊(cè):// <div>再次創(chuàng)建一個(gè)節(jié)點(diǎn)</div>// <a href="/photo/6971070.html" class="red">4</a>張//</b>HtmlNode node16 = newnode4.SelectSingleNode("child::a[1]");HtmlNode node18 = HtmlNode.CreateNode("<p>新建一行</p>");newnode4.ReplaceChild(node18, node16);Console.WriteLine(newnode4.OuterHtml);//輸出//<b>相冊(cè):// <div>再次創(chuàng)建一個(gè)節(jié)點(diǎn)</div>// <p>新建一行</p>張 //留意到node16代表得節(jié)點(diǎn)已經(jīng)被替換掉了//</b>HtmlNode node19 = newnode4.SelectSingleNode("child::p[1]");node19.SetAttributeValue("class","class1");Console.WriteLine(node19.OuterHtml); //輸出 <p class="class1">新建一行</p>Console.WriteLine(HtmlNode.IsOverlappedClosingElement("<a>我愛(ài)你</a>")); //輸出 FalseConsole.WriteLine(HtmlNode.IsCDataElement("<a>我愛(ài)你</a>")); //輸出 FalseConsole.WriteLine(HtmlNode.IsClosedElement("<a>我愛(ài)你</a>")); //輸出 FalseConsole.WriteLine(HtmlNode.IsEmptyElement("<a>我愛(ài)你</a>")); //輸出 FalseConsole.WriteLine(newnode4.OuterHtml);HtmlNode node20 = HtmlNode.CreateNode("<p>新的第二行</p>");newnode4.AppendChild(node20);HtmlNodeCollection hnc = newnode4.SelectNodes("//p"); //根據(jù)XPath一次過(guò)獲取多個(gè)NodeConsole.WriteLine(hnc.Count); //輸出29string str1 = node20.WriteContentTo();Console.WriteLine(str1); //輸出 新的第二行 將節(jié)點(diǎn)內(nèi)容寫(xiě)入字符串//public void WriteContentTo(TextWriter outText);//public string WriteTo();//public void WriteTo(TextWriter outText);//public void WriteTo(XmlWriter writer);Console.ReadKey();}

?

轉(zhuǎn)載于:https://www.cnblogs.com/dekevin/p/4042436.html

總結(jié)

以上是生活随笔為你收集整理的HtmlAgilityPack 之 HtmlNode类的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。

西西人体4444www高清视频 | 久久国产成人午夜av影院宅 | 日韩成人中文字幕 | 精品福利视频在线观看 | 国产黄色精品视频 | 久久这里精品视频 | 99高清视频有精品视频 | 国产最新精品视频 | 国产免费区 | 久久精品久久久久久久 | 精品国产_亚洲人成在线 | 91桃色在线免费观看 | 亚洲在线日韩 | 久久九九精品 | 探花视频在线观看免费 | 伊人五月婷 | 91精品资源 | 免费福利在线观看 | 日韩欧美视频一区 | 97超碰中文 | www.91国产| 在线a人v观看视频 | 精品亚洲视频在线观看 | 色99中文字幕 | 在线看日韩av | 97在线观看免费高清完整版在线观看 | 久久99久久99精品免视看婷婷 | 色中文字幕在线观看 | 91色在线观看视频 | 91喷水 | 一区二区三区韩国免费中文网站 | 一区二区视频播放 | 毛片网站在线观看 | 亚洲国产片色 | 一级片免费观看 | 国产精品一区二区在线 | 超碰在线cao | 首页av在线 | 久久久久久蜜桃一区二区 | 国内三级在线 | 欧美精品一区二区三区四区在线 | 激情综合色综合久久综合 | 国产精品网站一区二区三区 | 欧美日韩中文国产 | 蜜桃视频在线观看一区 | 精品视频一区在线观看 | 天堂av最新网址 | 欧美性脚交 | 欧美久久精品 | 国产伦精品一区二区三区免费 | 久久久久亚洲精品成人网小说 | av成人在线看 | 天天做夜夜做 | 久久黄色网址 | 色婷婷久久久 | 亚洲视频精品在线 | 欧美一级片在线 | 久久香蕉国产精品麻豆粉嫩av | 精品国产精品久久 | 欧美成年黄网站色视频 | 欧美精品乱码久久久久久 | 国产午夜精品一区二区三区在线观看 | 久久黄色美女 | 中文字幕视频观看 | 精品久久久久久电影 | 人人玩人人爽 | 99爱在线 | 亚洲综合网站在线观看 | 国产亚洲视频在线 | 久久免费播放 | 在线看一级片 | 免费中文字幕在线观看 | 999成人网| av经典在线 | 丁香高清视频在线看看 | 91色蜜桃| 丁香婷婷综合色啪 | 中文字幕亚洲精品在线观看 | 亚洲 中文 在线 精品 | 久久久一本精品99久久精品66 | 亚洲日本欧美在线 | 播五月综合 | 国产又粗又猛又爽又黄的视频免费 | 天天插天天操天天干 | 亚洲精品免费在线视频 | 国产精品区在线观看 | 成人免费视频网 | 中文字幕成人网 | 四虎国产永久在线精品 | 成人精品一区二区三区电影免费 | 亚洲精品国产精品国自产观看浪潮 | 毛片永久新网址首页 | 国产精品美女毛片真酒店 | 午夜精品一区二区三区在线播放 | 成人a大片| 综合网天天色 | 四虎在线视频免费观看 | 一级片观看 | 在线观看岛国片 | 偷拍精品一区二区三区 | 夜夜夜夜爽| 人人澡av| 久久久久久精 | 欧美a视频在线观看 | 69视频在线播放 | 免费大片黄在线 | 亚洲国产精品小视频 | 狠狠狠色丁香综合久久天下网 | 悠悠av资源片 | 日日摸日日添夜夜爽97 | 少妇精69xxtheporn| 九九久久影院 | 精品国产免费av | 最新久久免费视频 | 国产精品久久久久av | 91在线公开视频 | 午夜精品视频一区二区三区在线看 | 玖玖视频| 91自拍视频在线观看 | 一本色道久久综合亚洲二区三区 | 国外成人在线视频网站 | 狠狠色噜噜狠狠 | 香蕉视频在线网站 | 亚洲综合少妇 | 亚洲精品在线观看不卡 | 蜜臀av性久久久久蜜臀aⅴ四虎 | av线上看| 日韩一二区在线观看 | 欧美视频日韩视频 | 欧美aa在线 | 美女精品在线观看 | 国产精品激情偷乱一区二区∴ | 中文字幕大全 | 亚洲男男gⅴgay双龙 | 日本特黄特色aaa大片免费 | 欧美精品视| 人人爽人人| 人人澡超碰碰97碰碰碰软件 | 99精品视频免费 | 中文字幕在线观看你懂的 | 在线色视频小说 | 91免费观看国产 | 久久久久国产精品一区 | 国产精品2018 | 最新的av网站 | 91完整版 | 天天干天天想 | 中文字幕久久精品 | 在线观看www视频 | 日本性xxx | 欧美性生交大片免网 | 日韩av免费大片 | 久久精品国产免费看久久精品 | 色综合在| 一级特黄aaa大片在线观看 | av中文在线观看 | 久久国产精品一二三区 | 24小时日本在线www免费的 | 超碰日韩 | 国产精品精品国产 | 欧美日韩另类视频 | 欧美日韩视频在线 | 三级黄免费看 | 久久久国产精品视频 | 亚洲视频每日更新 | 国产精品久久久久久久久久久久 | 97香蕉久久超级碰碰高清版 | 91精品国产91| 色综合天天狠狠 | 黄色一级片视频 | 超级碰碰碰免费视频 | 国产大尺度视频 | 91精品视频免费观看 | 国产精品短视频 | 亚洲欧美日韩精品久久奇米一区 | 精品在线免费视频 | 欧美色综合 | 国产精品麻豆三级一区视频 | 日韩精品无 | 亚洲视频久久久 | 蜜臀av网站 | 99精品偷拍视频一区二区三区 | 国产亚洲精品bv在线观看 | 亚洲mv大片欧洲mv大片免费 | 在线观看中文字幕第一页 | 免费av观看网站 | 日韩在线电影 | 久久免费电影网 | 久久99久久99久久 | 久久免费在线观看视频 | 亚洲激情校园春色 | 99久久这里有精品 | 久草在线费播放视频 | 日韩欧美视频免费在线观看 | 欧美一区二区三区在线视频观看 | 在线观看日韩专区 | 久久免费美女视频 | 色视频网站在线观看一=区 a视频免费在线观看 | 日韩黄色av网站 | 激情五月av | 久久99国产精品免费网站 | 日韩av在线网站 | 国产69精品久久久久99 | 久久久官网 | 免费日韩在线 | 久久免费视频这里只有精品 | 一级欧美日韩 | 少妇av网| 久久精品老司机 | 日韩视频中文字幕在线观看 | 伊人视频 | 日本久久综合视频 | 五月天堂色 | 亚洲精品久久激情国产片 | 国产999精品久久久影片官网 | 91久久久久久久一区二区 | 高潮久久久久久 | 久久亚洲私人国产精品va | 亚洲砖区区免费 | 国产伦精品一区二区三区无广告 | 色天天中文| 亚洲精品国产综合99久久夜夜嗨 | 精品麻豆| 欧美久草网 | 久久精久久精 | 国产91在线免费视频 | 日韩一级精品 | 成年人免费在线观看网站 | 天天躁日日躁狠狠躁av麻豆 | 91人人在线 | 日韩av看片 | 久久久久国产视频 | 激情综合站 | av在线播放中文字幕 | 免费成人在线观看视频 | 国产成人61精品免费看片 | 精品女同一区二区三区在线观看 | 色综合久久88色综合天天6 | 欧美久久九九 | 久草在线免 | 91网页版在线观看 | 精品成人久久 | 精品国产一区二区三区在线观看 | 亚洲欧美日韩中文在线 | 国产精品理论视频 | 国产一级免费片 | 久久艹在线观看 | 日韩精品久久久久久中文字幕8 | 2019中文最近的2019中文在线 | 久久电影日韩 | 香蕉久久国产 | 天天操,夜夜操 | 中文字幕在线一二 | 久久久精品一区二区 | 91麻豆精品久久久久久 | 国产流白浆高潮在线观看 | 97精品电影院 | 久久精品99国产精品亚洲最刺激 | 国产精品18久久久久久久久久久久 | 最近免费中文字幕mv在线视频3 | 天堂网在线视频 | 国产拍揄自揄精品视频麻豆 | 欧美一级欧美一级 | 97视频资源 | 久久精品79国产精品 | 美女视频黄,久久 | 国产剧情一区二区 | 中文字幕乱在线伦视频中文字幕乱码在线 | wwwav视频 | 国产又粗又猛又爽又黄的视频免费 | 午夜丁香网 | 狠狠色丁香久久婷婷综合_中 | 精品在线观看一区二区 | 成人三级网站在线观看 | 日韩三级视频在线看 | 黄色福利网 | 最新一区二区三区 | 久久男人影院 | 深夜精品福利 | 午夜视频欧美 | 97精品国产97久久久久久粉红 | 国产美女视频免费观看的网站 | 国产精品h在线观看 | 91av片| av片一区 | 97精品国产 | 日韩精品免费 | 国产资源在线播放 | 十八岁以下禁止观看的1000个网站 | 欧美色图亚洲图片 | 在线观看片| 国产成人综合精品 | 精品亚洲va在线va天堂资源站 | 成年人免费电影在线观看 | 国产免费视频一区二区裸体 | 99精品一区二区三区 | 国产视频在线一区二区 | 黄色电影小说 | 人人爽人人乐 | 久久久麻豆精品一区二区 | a级片网站 | 亚洲成人av在线电影 | 国产精品欧美久久久久天天影视 | 一区二区三区在线免费 | 8090yy亚洲精品久久 | 国产一区二区三区免费视频 | 久久96 | 91cn国产在线 | 天天躁天天躁天天躁婷 | 综合激情av | 在线 视频 亚洲 | 久草精品电影 | 国内精品久久久久久久久久久久 | 国内精品一区二区 | 亚洲精品成人在线 | 亚州国产精品视频 | 亚洲视频免费在线观看 | 国产高清久久 | 国产精品欧美一区二区 | 91成人久久 | 999国产精品视频 | 国色天香永久免费 | 欧美人人 | 97超碰中文字幕 | 视频精品一区二区三区 | 超碰免费观看 | 五月婷婷免费 | 九九九视频精品 | 五月天久久激情 | 亚洲欧美日韩一级 | 欧美一级性 | 中文字幕乱码亚洲精品一区 | 日韩av影片在线观看 | 国产打女人屁股调教97 | 国产美女免费观看 | 亚洲国产精品影院 | 狠狠色狠狠色 | 欧美日韩国产伦理 | 人人爽人人爽人人爽人人爽 | 青青河边草免费观看完整版高清 | 欧美成人999| 99视频久 | 日韩欧美高清一区二区三区 | 中文字幕在线观看免费高清完整版 | 日韩剧| 99免费观看视频 | 三上悠亚一区二区在线观看 | 国语麻豆 | 在线免费观看欧美日韩 | 国产日产高清dvd碟片 | 91试看| 在线国产视频一区 | 在线免费91| 最新av免费 | 亚洲在线成人精品 | 亚洲视频www | 麻豆视频免费网站 | 日韩大片在线免费观看 | 99久久精品国产一区 | 超级碰碰碰碰 | 日本视频不卡 | 91精品夜夜 | 天天艹天天爽 | 日韩精品短视频 | 免费在线激情电影 | 天天综合天天做天天综合 | 2020天天干夜夜爽 | 激情开心色| 亚洲精品视频在线免费 | av高清一区二区三区 | 亚洲在线视频播放 | 免费黄色a网站 | 中文在线a√在线 | 高清国产午夜精品久久久久久 | 亚洲视频久久 | 夜夜躁日日躁 | 精品亚洲欧美无人区乱码 | 一区二区三区四区五区六区 | adn—256中文在线观看 | 久久久国产一区二区 | 人人舔人人爽 | 97在线观看免费观看高清 | 久久精品—区二区三区 | 中文字幕一区二区三区四区在线视频 | 五月花激情 | 免费日韩一区二区三区 | 天堂久久电影网 | 免费视频a| 国产高清视频免费在线观看 | 国产成人免费在线观看 | 中文字幕一区二区三区在线观看 | 国产精品无 | 97精品国自产拍在线观看 | 国产一级免费观看 | 午夜黄色影院 | av一区二区在线观看中文字幕 | 超碰在97 | 国产一卡在线 | av天天澡天天爽天天av | 亚洲闷骚少妇在线观看网站 | 成人免费一级 | 日本精a在线观看 | 国产在线观看免费 | 成人动图| 亚洲国产免费看 | 在线视频欧美日韩 | 国产午夜三级一区二区三 | 国产在线观看午夜 | av中文字幕亚洲 | 色精品视频 | 不卡视频国产 | 国产精品视频专区 | 久久久久久黄色 | 久久精品美女视频 | 99久久精品免费看国产一区二区三区 | 日本午夜在线亚洲.国产 | 欧洲视频一区 | 久草www| 日韩三级.com| 综合久久久 | 日韩 在线a| 91高清免费看 | 国产精品久久嫩一区二区免费 | 视频福利在线 | 日本精品久久久久中文字幕5 | 久久综合色综合88 | 97色婷婷人人爽人人 | 久久欧美在线电影 | 99久久精品国 | 亚洲狠狠丁香婷婷综合久久久 | 日韩乱色精品一区二区 | 亚洲欧美视频一区二区三区 | 成人免费ⅴa | jizzjizzjizz亚洲 | www日韩高清 | 中文字幕av在线播放 | 色网站视频 | aaawww| 精品99免费视频 | 国产一区二区三区黄 | 亚洲午夜精品在线观看 | 久久久国产99久久国产一 | 久久精品最新 | 99亚洲精品 | 最新超碰在线 | 四虎影视欧美 | 亚洲国产成人精品在线观看 | 一区二区激情视频 | 尤物一区二区三区 | 久久国产免费视频 | 亚洲丝袜中文 | 日韩色在线观看 | 午夜av剧场 | 黄色动态图xx | 国产涩图 | 99久久99久久精品国产片 | 四虎成人精品 | 一区二区三区日韩在线 | 中文字幕一二 | 国产丝袜高跟 | 久久婷婷国产色一区二区三区 | 欧美午夜精品久久久久久浪潮 | 国产在线久草 | av中文字幕av| 亚洲精品久久久蜜臀下载官网 | 国产精品日韩久久久久 | 精品视频不卡 | 久久久久久久久久免费 | 美女啪啪图片 | 最新免费中文字幕 | 亚洲国产精品久久久久久 | av一区在线 | 综合在线观看色 | 久久久久影视 | 波多野结衣小视频 | 国产美女被啪进深处喷白浆视频 | 五月激情在线 | 丁香婷婷久久 | 97成人在线| 中文字幕精品一区二区精品 | 日本中文字幕视频 | 成年人在线免费看视频 | 成人欧美一区二区三区在线观看 | 久久综合九九 | 日本精品视频在线观看 | 国产黑丝一区二区三区 | 亚一亚二国产专区 | 在线中文字幕一区二区 | 五月婷婷色丁香 | 久草精品视频在线播放 | 91视频免费观看 | 免费在线观看av | 日韩一三区 | 蜜臀久久99静品久久久久久 | 欧美巨乳波霸 | 日韩免费电影一区二区 | 人人澡人人爽欧一区 | 一区二区男女 | 色偷偷人人澡久久超碰69 | 国产中年夫妇高潮精品视频 | 日韩在线视频二区 | 九九视频在线播放 | 97成人啪啪网 | 免费在线电影网址大全 | 精品国产一区二区三区久久影院 | 日本在线观看一区二区三区 | 国产精品一区二区在线播放 | 国产精品国产亚洲精品看不卡 | 亚洲视频在线播放 | 国产精品久久久久免费 | 日本韩国在线不卡 | 午夜久久网站 | 又黄又色又爽 | 日韩av在线影视 | 日韩中文字幕国产 | 久久免费视频在线观看 | 日日日操 | 97爱爱爱 | 国产色视频网站2 | 成人影视免费看 | a黄色大片| 欧美资源| 黄色软件在线观看免费 | 国产色在线视频 | 在线免费观看欧美日韩 | 国产精品色在线 | 岛国av在线免费 | 香蕉影院在线观看 | 黄色一级在线免费观看 | 久插视频| 91九色综合 | 婷婷av网 | 97国产视频 | 新版资源中文在线观看 | 欧美贵妇性狂欢 | 手机av在线不卡 | 久久综合久久综合九色 | 中文字幕色网站 | 免费在线观看av | 国产精品久久久久久一区二区 | 国产精品mm| 日本黄色大片免费 | 五月婷婷,六月丁香 | 激情久久久久久久久久久久久久久久 | 久久视频在线视频 | 国产一级高清视频 | 久久国产精品99精国产 | 国产3p视频 | 激情综合网在线观看 | 亚洲视频 在线观看 | 成人在线视频网 | 久久大香线蕉app | 日韩毛片在线一区二区毛片 | 欧美日韩免费看 | 国产日韩欧美精品在线观看 | 久久久夜色 | www91在线观看 | 亚洲综合激情 | av片免费播放 | 麻豆国产露脸在线观看 | 69久久久 | 91精品国产91久久久久福利 | 国产喷水在线 | 午夜久久精品 | 日韩小视频网站 | 天天操狠狠操网站 | 午夜精品av在线 | 日韩一区正在播放 | 亚洲视频 在线观看 | 伊人资源视频在线 | 免费v片| 亚洲 综合 精品 | 91九色老 | 91免费视频国产 | 国产精品k频道 | 婷婷香蕉 | 丝袜少妇在线 | 欧美一级电影在线观看 | 最新av免费 | 中文字幕在线观看亚洲 | 99久久婷婷国产综合亚洲 | 久久久久久网址 | 亚洲精品在线看 | 亚洲精品乱码久久久久久久久久 | 久久字幕网 | 天天综合成人网 | 色综合久久综合中文综合网 | 五月婷婷丁香在线观看 | 黄色软件视频网站 | 久久69av | 久久欧洲视频 | 蜜臀av性久久久久蜜臀aⅴ四虎 | 99国产精品一区二区 | 日韩免费观看高清 | 国产精品免费人成网站 | 国产精品第二十页 | 日日夜夜精品免费 | 日批视频在线观看免费 | 伊人五月天综合 | 日韩视频精品在线 | 精品五月天| 精品国产成人av在线免 | 一区二区三区在线免费观看 | 日本黄色免费网站 | 伊人五月在线 | 99视频久久 | 精油按摩av| 九九视频在线观看视频6 | 公开超碰在线 | 欧美va在线观看 | 2022久久国产露脸精品国产 | 色网免费观看 | 99中文字幕在线观看 | 国产热re99久久6国产精品 | 天天se天天cao天天干 | 久久久国产一区二区 | 婷婷激情在线观看 | 一区二区视频在线免费观看 | 最新极品jizzhd欧美 | 天天综合中文 | 精品毛片一区二区免费看 | 日韩免费视频线观看 | 国产综合精品一区二区三区 | 日韩久久视频 | 国产日韩视频在线观看 | 99热在 | 欧美日韩国产高清视频 | 91看片看淫黄大片 | 天天操夜夜操夜夜操 | 激情av在线资源 | www.888av| 欧美一级性视频 | 91九色精品国产 | 免费开视频 | 亚洲精品免费视频 | 成人精品亚洲 | 色综合久久88色综合天天免费 | 精品综合久久久 | 欧美巨大荫蒂茸毛毛人妖 | 高清视频一区 | 黄色免费大全 | 狠狠干婷婷 | 又污又黄网站 | 欧美激情精品久久久久久免费 | av成人动漫在线观看 | 国产高清在线看 | 欧美色精品天天在线观看视频 | 亚洲一级黄色片 | 欧美日本日韩aⅴ在线视频 插插插色综合 | 91黄色在线视频 | 欧美色插| 中文字幕欧美日韩va免费视频 | 日韩成人中文字幕 | 国产精品2020| 成年人黄色免费视频 | 97在线超碰| 久草在线最新 | 日韩视频免费 | 涩涩在线 | 日韩高清免费观看 | 最新在线你懂的 | 中文av日韩 | 98超碰在线 | 中文字幕 国产 一区 | 国产精品久久久久久久妇 | 久久精品在线 | 最新日韩视频 | 久草网免费 | 亚洲黄色一级电影 | 中文字幕成人一区 | 成人av地址 | 日韩高清在线一区 | 黄色www | www久久精品 | 这里有精品在线视频 | 国产一区播放 | 91精品推荐 | 成人一级片视频 | 狠狠干激情| 久久成熟 | 99色在线观看 | 日韩电影一区二区三区在线观看 | 亚洲人成网站精品片在线观看 | 91精品系列 | bbbbb女女女女女bbbbb国产 | 国产日韩视频在线观看 | 在线免费观看一区二区三区 | 一本—道久久a久久精品蜜桃 | 女人久久久久 | 久久久五月天 | 九草视频在线 | 久久污视频 | 精品一区在线看 | 天天摸天天干天天操天天射 | 成人av电影免费在线观看 | 欧美日韩国产一区二区在线观看 | 久久伦理电影 | 日韩在线观看视频网站 | 婷婷色网视频在线播放 | 成人一区二区三区在线观看 | 91精品国产高清自在线观看 | 成年人三级网站 | 日韩在线中文字幕 | 欧美精品在线视频 | 久久久久麻豆 | 亚洲三级国产 | 国产精品毛片一区二区在线看 | 精品久久在线 | 999国内精品永久免费视频 | 久草在线在线视频 | 国产亚洲精品久久久久久大师 | 99久久精品免费看国产 | 日日操日日 | 一级做a爱片性色毛片www | 国产精久久久久久妇女av | av播放在线| 中国一级片视频 | 亚洲精品影视 | 国产中文字幕久久 | 国产999精品久久久影片官网 | 精品999国产| 国产精品成人免费一区久久羞羞 | 96香蕉视频 | 久久久av电影| 国产99re| 日日婷婷夜日日天干 | 亚洲精品美女免费 | 婷婷伊人综合亚洲综合网 | 五月婷在线 | 欧美a√大片| av一级久久 | 国产精品亚州 | av电影免费在线看 | 激情亚洲综合在线 | 久久综合久久综合久久 | 青草视频在线 | 六月天综合网 | 91人人爱| 国产在线不卡视频 | 精品久久久久久国产偷窥 | 国产日韩在线观看一区 | 99精品一区 | 色婷婷狠 | 久久久精品高清 | 成人在线一区二区三区 | 看av免费网站 | 久草视频一区 | 69精品久久久 | 国产乱对白刺激视频不卡 | 国产不卡毛片 | 成人va天堂 | 91精品视频在线播放 | 91av手机在线观看 | 日韩欧美黄色网址 | 色哟哟国产精品 | www五月天com | 免费高清影视 | 成年人免费电影 | 国产精品久久久久久久久久免费 | 91黄色小网站 | 国产精品粉嫩 | 国产97在线观看 | 国产成人一区二区三区在线观看 | 日韩精品一区二区三区电影 | 狠狠色狠狠色综合日日小说 | 久久精品观看 | 精品欧美在线视频 | 激情伊人| 国产超碰在线观看 | 99久久精品免费看国产 | 99国产精品一区二区 | 国产永久免费高清在线观看视频 | 国产中文在线视频 | 狠狠做深爱婷婷综合一区 | 亚洲一区二区三区在线看 | 日韩aa视频 | 天天色成人网 | 91黄色在线观看 | 91av欧美| 开心激情综合网 | 国产黄色av| 五月婷婷av | 国产一卡在线 | 看污网站| 亚洲美女在线一区 | 日韩在线影视 | 狠狠色丁香 | 久久欧洲视频 | av在线中文| 五月婷av | 最近免费中文视频 | 国产女人18毛片水真多18精品 | 成年人免费观看国产 | 久久久久色 | 国产黄大片 | 中文字幕91视频 | 99视频免费看 | 91九色视频在线 | 欧美网站黄色 | 69视频网站 | 国产裸体无遮挡 | 黄色一级在线观看 | 久久99热精品这里久久精品 | 久草精品视频在线看网站免费 | 亚洲va综合va国产va中文 | 中文字幕久久久精品 | 久草观看视频 | 深夜国产福利 | 丁香婷婷综合网 | www.黄色小说.com | 日本久久电影网 | 亚洲成人黄色网址 | 狠狠色综合网站久久久久久久 | 久久国产露脸精品国产 | www.99久久.com | 国产精品久久久久久久久久久久午夜片 | 中文不卡视频在线 | 开心色婷婷 | 国产日韩欧美在线免费观看 | 最新不卡av | 在线观看911视频 | 国产精品一区二区av麻豆 | 国产午夜精品在线 | 伊人夜夜 | 91久久国产综合精品女同国语 | 少妇搡bbbb搡bbb搡69 | 超碰精品在线观看 | 欧美日韩裸体免费视频 | 黄色毛片视频免费观看中文 | 国产精品一区二区在线看 | 久久久av电影 | 欧美性生活一级片 | 99爱爱 | 月丁香婷婷| 999日韩 | 国产免费视频一区二区裸体 | japanese黑人亚洲人4k | 99爱在线观看| 日本三级吹潮在线 | 91福利社在线观看 | 91热精品 | 亚洲精品在线观看不卡 | 久久亚洲成人网 | 久久精品视频3 | 午夜精品视频一区二区三区在线看 | 亚洲天堂激情 | 久久国语露脸国产精品电影 | 国产午夜在线观看视频 | 美女网站色| 91精选在线观看 | 天堂av在线免费 | 亚洲最新在线视频 | 最近中文字幕免费av | 玖玖视频免费在线 | 日韩黄色在线电影 | 免费观看成人av | 亚洲欧美日韩在线看 | 国产一级免费观看 | 日韩一片| 国产美女被啪进深处喷白浆视频 | 狠狠操操操| 国产亚州av | 香蕉手机在线 | 久久久久免费精品国产 | 天天色天天综合网 | 男女拍拍免费视频 | 99成人免费视频 | 一区二区 精品 | 夜夜澡人模人人添人人看 | 久久久www| 久久人91精品久久久久久不卡 | 日韩影片在线观看 | 激情丁香婷婷 | 色综合久久88| 人人澡人人模 | www·22com天天操 | 欧美视频日韩视频 | www.香蕉视频 | 久久视频国产 | 国产中文字幕在线播放 | 99久久精品一区二区成人 | 91成人看片| 国内精品美女在线观看 | 免费一区在线 | 久亚洲| www.久久久久| 天天综合成人 | 91一区啪爱嗯打偷拍欧美 | 久久福利小视频 | 久亚洲精品 | 亚洲色影爱久久精品 | 视频在线观看入口黄最新永久免费国产 | 日韩成人xxxx | 69国产成人综合久久精品欧美 | 人人爽人人澡人人添人人人人 | 在线a人v观看视频 | 欧美日韩免费在线观看视频 | 久久精品日韩 | 午夜精品一区二区三区在线观看 | 中日韩免费视频 | www.xxxx欧美| 天天插狠狠插 | 亚洲黄色小说网址 | 91丨精品丨蝌蚪丨白丝jk | 国产精品一区二区美女视频免费看 | 少妇精品久久久一区二区免费 | 天天干天天干 | 免费黄色激情视频 | 日韩视频一区二区三区在线播放免费观看 | 911av视频 | 99精品国产福利在线观看免费 | 久久久精品影视 | 欧美性生活免费看 | 国产色在线视频 | 久久免费视频2 | 日本黄色免费大片 | av一级网站| 91污在线 | 成人a免费视频 | 亚洲在线色 | 超碰97在线资源 | 久精品一区 | 天天躁日日躁狠狠躁 | 黄色a在线观看 | 综合网中文字幕 | 成年人国产视频 | 亚洲精区二区三区四区麻豆 | 亚洲色图激情文学 | 亚洲国产午夜精品 | 三日本三级少妇三级99 | 很黄很色很污的网站 | 亚洲va综合va国产va中文 | 欧美精品成人在线 | 96视频免费在线观看 | 成人h视频在线 | 国产黄色片免费看 | 91免费高清在线观看 | 高清视频一区 | 国产精品麻豆91 | 久久久999精品视频 国产美女免费观看 | 综合网天天色 | 中文字幕在线观看网 | 国产 日韩 欧美 自拍 | 99成人精品 | www.狠狠操 | 日韩一区二区免费在线观看 | aaa亚洲精品一二三区 | 成人av在线一区二区 | 日韩一级电影在线观看 | 久久高清视频免费 | 午夜久久影视 | 欧美一区二区日韩一区二区 | 欧美日韩在线第一页 | 麻豆果冻剧传媒在线播放 | 国产精品免费久久久久影院仙踪林 | 国产成人无码AⅤ片在线观 日韩av不卡在线 | 狠狠久久| 精品96久久久久久中文字幕无 | 五月天中文在线 | 欧美污污网站 | 国产精品久久久毛片 | 中文字幕在线看视频国产中文版 | 精品美女久久 | 少妇自拍av | 黄色影院在线免费观看 | 狠日日| 国产精品入口麻豆 | 2023亚洲精品国偷拍自产在线 | 成人在线免费视频 | 99re国产 | 亚洲国产欧美在线看片xxoo | 国产精品免费人成网站 | av福利电影 | 日韩电影中文,亚洲精品乱码 | 精品久久久精品 | 91在线视频免费观看 | 日韩在线观看三区 | 黄色aaa级片 | 久久精品中文视频 | 一区 在线观看 | www.综合网.com | 午夜精品一区二区三区在线视频 | 中文字幕中文字幕在线中文字幕三区 | 人人爱爱人人 | 久草在线91| 亚洲三级黄 | 最新国产视频 | 免费视频二区 | 欧美一区二区三区在线 | 99久久这里只有精品 | 天天色天天操天天爽 | 99视频国产精品 | 国产成人av网 | 亚洲毛片在线观看. | 久久超 | 天天操天天操一操 | 91桃色免费视频 | 国产精品久久久久久久久久久久午夜片 |