如何c# 用WebBroswers 获取网页Table的一个值

<tablecellSpacing="1"cellPadding="2"width="98%"align="center"bgColor="#aebaca"border=... <table cellSpacing="1" cellPadding="2" width="98%" align="center" bgColor="#aebaca" border="0">
<TR>
<TD bgColor="lemonchiffon" colSpan="8">
<TD style="WIDTH: 70px" bgColor="#ffffff"><FONT face="宋体">客户编号:</FONT></TD>
<TD bgColor="#ffffff"><input name="txtcustomerpk" type="text" value="YTBTS20090629165209956810802428455924" readonly="readonly" id="txtcustomerpk" class="biankuang2" style="width:100%;" /></TD>
<table>

代码如上 怎么利用控件获取到value="YTBTS20090629165209956810802428455924"
里的值并把它赋给text控件框中
谢谢啊 急~
有完全的代码可以贴上来不?
展开
 我来答
zj5815
推荐于2016-11-11 · TA获得超过2068个赞
知道小有建树答主
回答量:1297
采纳率:0%
帮助的人:1219万
展开全部

新建一个windows Form的项目

在上面拖两个text box,两个按钮,一个textbox命名为txtURL,按钮命名为btnURL

另起一行,textbox命名为txtData,按钮命名为btnGetValue

然后要在项目中添加Microsoft.mshtml引用

分别为两个按钮写事件:

using System;

using System.Collections.Generic;

using System.ComponentModel;

using System.Data;

using System.Drawing;

using System.Linq;

using System.Text;

using System.Windows.Forms;

using mshtml;

namespace GetHTMLElementValue

{

    public partial class Form1 : Form

    {

        public Form1()

        {

            InitializeComponent();

        }

        private void btnURL_Click(object sender, EventArgs e)

        {

            OpenFileDialog ofdHtmlFile = new OpenFileDialog();

            ofdHtmlFile.Multiselect = false;

            ofdHtmlFile.Filter = "HTML Files (*.html)|*.html|All Files (*.*)|*.*";

            if (ofdHtmlFile.ShowDialog() == DialogResult.OK)

            {

                txtURL.Text = ofdHtmlFile.FileName;

            }

        }

        private void btnGetValue_Click(object sender, EventArgs e)

        {

            WebBrowser wb = new WebBrowser();

            wb.Navigate(txtURL.Text);

            HtmlDocument hd = wb.Document;

            HtmlElementCollection heInput = hd.GetElementsByTagName("TD");

            foreach (HtmlElement he in heInput)

            {

                if (he.Name == "txtcustomerpk")

                {

                    txtData.Text = he.InnerText;

                }

            }            

        }

    }

}

一骑当后
2015-07-04 · 知道合伙人数码行家
一骑当后
知道合伙人数码行家
采纳数:40298 获赞数:306440
网络、设备维护、电路、弱电检测。

向TA提问 私信TA
展开全部

  在ebbrowers 中也有GetElementById()方法,
  直接根据ID获取到table,然后去其中的Innerhtml即可。

  参考代码如下:

      public ArrayList table()
        {
            ArrayList al = new ArrayList();
            // StringBuilder sb = new StringBuilder("你的字符串");


            using (StreamReader sr = new StreamReader(@"E:\Documents and Settings\Administrator\My Documents\Visual Studio 2008\Projects\txtReader\txtReader\html.htm"))
//这个替换成读出的StringBuild,一行行读出,是一样的。
            {
                string input;
                while ((input=sr.ReadLine()) != null)
                {
                    Regex r1 = new Regex("<td style='' align=\"center\">.*?&nbsp;");

                        if (r1.IsMatch(input))
                        {
                            al.Add(r1.Match(input).Value);
                        }


                }
                sr.Close();
            }
            return al;//返回的结果
        }
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
zyz180
2010-07-09
知道答主
回答量:16
采纳率:0%
帮助的人:7.6万
展开全部
cs文件相应处理中
txtcustomerpk.text = txtcustomerpk.value.Tostring();
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式