首頁  >  文章  >  web前端  >  HTML解析元件HtmlAgilityPack使用方法介紹

HTML解析元件HtmlAgilityPack使用方法介紹

高洛峰
高洛峰原創
2017-03-20 16:55:532571瀏覽

HtmlAgilityPack是一個開源的解析HTML元素類別庫,最大的特點是可以透過XPath來解析HMTL,如果您以前用C#操作過XML,那麼使用起HtmlAgilityPack也會得心應手。目前最新版本為1.4.6,下載地址如下:

http://htmlagilitypack.codeplex.com/

下面以一個簡單的例子來介紹下HtmlAgilityPack的使用,對於Asp.Net程式開發的網站要做​​模擬登入的時候,除了要知道使用者名稱文字方塊和密碼文字方塊的name屬性值外,還需要知道頁面的VIEWSTATE、EVENTVALIDATION這兩個隱藏控制項的值,以及提交按鈕的name屬性,下面看看怎麼使用HtmlAgilityPack來獲得這個額外的值。

1、在專案中加入HtmlAgilityPack.dll的參考

HTML解析元件HtmlAgilityPack使用方法介紹

#2、在Aspx頁面中放幾個文字方塊控制項與一個按鈕控制項

HTML解析元件HtmlAgilityPack使用方法介紹

3、按鈕的後台事件如下

protected void btnHtml_Click(object sender, EventArgs e)
        {            if (tbUrl.Text.Length > 0)
            {
                HtmlWeb htmlWeb = new HtmlWeb();
                HtmlDocument htmlDoc = htmlWeb.Load(this.tbUrl.Text);
                HtmlNode htmlNode = htmlDoc.DocumentNode.SelectSingleNode("//input[@id='VIEWSTATE']");
                string viewStateValue = htmlNode.Attributes["value"].Value;
                htmlNode = htmlDoc.DocumentNode.SelectSingleNode("//input[@id='EVENTVALIDATION']");                
                string eventValidation = htmlNode.Attributes["value"].Value;
                htmlNode = htmlDoc.DocumentNode.SelectSingleNode("//input[@type='submit']");                
                string submitName = htmlNode.Attributes["name"].Value;

                tbViewState.Text = viewStateValue;
                tbEventValidation.Text = eventValidation;
                tbSubmitName.Text = submitName;
            }
        }

4、以部落格園的登入介面為例,取得後的介面如下

HTML解析元件HtmlAgilityPack使用方法介紹


以上是HTML解析元件HtmlAgilityPack使用方法介紹的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn