日韩黑丝制服一区视频播放|日韩欧美人妻丝袜视频在线观看|九九影院一级蜜桃|亚洲中文在线导航|青草草视频在线观看|婷婷五月色伊人网站|日本一区二区在线|国产AV一二三四区毛片|正在播放久草视频|亚洲色图精品一区

分享

HTML解析組件HtmlAgilityPack使用

 昵稱10504424 2013-09-16

HtmlAgilityPack是一個(gè)開源的解析HTML元素的類庫(kù),最大的特點(diǎn)是可以通過(guò)XPath來(lái)解析HMTL,如果您以前用C#操作過(guò)XML,那么使用起HtmlAgilityPack也會(huì)得心應(yīng)手。目前最新版本為1.4.6,下載地址如下:

http://htmlagilitypack./

下面以一個(gè)簡(jiǎn)單的例子來(lái)介紹下HtmlAgilityPack的使用,對(duì)于Asp.Net程序開發(fā)的網(wǎng)站要做模擬登錄的時(shí)候,除了要知道用戶名文本框和密碼文本框的name屬性值外,還需要知道頁(yè)面的__VIEWSTATE、__EVENTVALIDATION這兩個(gè)隱藏控件的值,以及提交按鈕的name屬性,下面看看怎樣使用HtmlAgilityPack來(lái)獲得這個(gè)額外的值。

1、在項(xiàng)目中添加對(duì)HtmlAgilityPack.dll的引用

2、在Aspx頁(yè)面中放幾個(gè)文本框控件和一個(gè)按鈕控件

3、按鈕的后臺(tái)事件如下

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、以博客園的登錄界面為例,獲取后的界面如下

示例下載

    本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購(gòu)買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊一鍵舉報(bào)。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評(píng)論

    發(fā)表

    請(qǐng)遵守用戶 評(píng)論公約

    類似文章 更多