如何解析HTML表成的ListView

如何解析HTML表成的ListView,第1张

 jsoup 是一款Java 的HTML解析器,可直接解析某个URL地址、HTML文本内容。它提供了一套非常省力的API,可通过DOM,CSS以及类似于jQuery的 *** 作方法来取出和 *** 作数据

主要功能:

从一个URL,文件或字符串中解析HTML;

使用DOM或CSS选择器来查找、取出数据;

可 *** 作HTML元素、属性、文本;

jar包下载(两种方式):

官网下载最新版:http://jsoup.org/download

jsoup-1.8.3.jar(jar,doc和源码)

jsoup更多信息查看官网:http://jsoup.org

三、HTML解析实战

 新建一个Android项目(编码设为UTF-8),将下载的jsoup的jar包添加到项目

用jquery来实现:

第一步:查看源码,看看picyurebox在生成的html的源码中的id是多少,这里假设id为pbShow

第二步:使用jquery 给listview中的图片添加事件;

$(document).ready(function(){

    //假设listview对应源码中的id为lv

    $("#lv img").click(function(){

        //获取当前点击图片的src的值,也就是图片地址

        var imgUrl=$(this).attr("src")

        //设置picyurebox的显示的图片

        $("#pbShow").attr("src".imgUrl)

    })

})

C# asp.net WebForm 的三层架构配合ListView实现增删改查源码:

1、用Access新建一个表MResume,人事管理表:

ID 姓名 性别 出生日期 工作年限 证件类型 证件号 居住地 Email 手机号码 家庭电话 图片 自我评价

2、控件的使用:bindingNavigator(实现分页功能), dataGridView(显示数据)

在C# WinForm 中有这一个app.config的文件,这个文件的作用可以当作web程序中的webconfig文件。

这里面可以记录数据库连接字符串

Access下数据库连接函数:

public static OleDbConnection GetConnection()

{

OleDbConnection conn = null

string strconnectionString = "Provider=Microsoft.Jet.OLEDB.4.0Data Source=" + AppDomain.CurrentDomain.BaseDirectory + "database\\chinabase.mdbPersist Security Info=True"

try

{

conn = new OleDbConnection(strconnectionString)

}

catch (Exception ex)

{

throw ex

}

return conn

}

3、把数据库中的数据读到dataGridView让这个控件来显示数据:

private void ResumeTest_Load(object sender, EventArgs e)

{

//手动代码把数据库中的数据显示出来

OleDbConnection conn = GetConnection()

string sqlText = "select 姓名,性别,出生日期,工作年限,证件类型,证件号,居住地,Email,手机号码,家庭电话,自我评价 from MResume order by id asc"

OleDbCommand cmd = new OleDbCommand(sqlText, conn)

try

{

conn.Open()

//int i = cmd.ExecuteNonQuery()

DataTable dt = new DataTable()

OleDbDataAdapter oda = new OleDbDataAdapter(sqlText, conn)

DataSet ds = new DataSet()

// oda.Fill(dt)

// dataGridView1.DataSource = dt

oda.Fill(ds, "ds")

dtInfo.Clear()

//dtInfo = null

dtInfo = ds.Tables[0]

InitDataSet(dtInfo)//初始化数据

}

catch (Exception ex)

{

MessageBox.Show(ex.ToString())

}

finally

{

conn.Close()

}

//设置GridView样式

// SetUpDataGridView()

dataGridView1.SelectionMode = DataGridViewSelectionMode.FullRowSelect//使用户能够选择行

this.dataGridView1.EditMode = DataGridViewEditMode.EditProgrammatically//双击不能修改了,这是通过编程的方式来修改单元格内容的

this.ComboxSelect.Items.Add("请选择类别")

this.ComboxSelect.Items.Add("姓名")

this.ComboxSelect.Items.Add("性别")

this.ComboxSelect.SelectedText = "请选择类别"

}

更新代码如下:

private void 修改ToolStripMenuItem_Click(object sender, EventArgs e)

{

dataGridView1_DoubleClick(sender, e)

//类似于dataGridView的更新 *** 作,也就是双击 *** 作

}

private void dataGridView1_CellMouseDown(object

DataGridViewCellMouseEventArgs e)

{

//判断如果点击的是鼠标右键

if (e.Button == MouseButtons.Right)

{

//判断鼠标点击在数据行上

if (e.RowIndex >= 0)

{

dataGridView1.ClearSelection()

dataGridView1.Rows[e.RowIndex].Selected = true

dataGridView1.CurrentCell

dataGridView1.Rows[e.RowIndex].Cells[e.ColumnIndex]

}

}

}

删除代码如下:

public bool deletDataGridViewOneLine(object sender, EventArgs e)

{

bool result = false

Int32 selectedRowCount

dataGridView1.Rows.GetRowCount(DataGridViewElementStates.Selected)

int selectedRow = dataGridView1.SelectedRows[0].Index//获得选中的某行

string MName = dataGridView1.Rows[selectedRow].Cells[0].Value.ToString().Trim()

// MessageBox.Show(MName.ToString())

DialogResult dr = MessageBox.Show("确定要删除这条记录吗?", "提示", MessageBoxButtons.YesNo, MessageBoxIcon.Question)

if (dr == DialogResult.Yes)

{

if (MName != null &&MName != "")

{

OleDbConnection conn = GetConnection()

string sqlText = "delete from MResume where 姓名=@MName"

OleDbCommand cmd = new OleDbCommand(sqlText, conn)

cmd.Parameters.AddWithValue("@MName", MName)

try

{

conn.Open()

int i = cmd.ExecuteNonQuery()

result = true

}

catch (Exception ex)

{

MessageBox.Show("发生异常:" + ex.ToString(), "提示")

}

查询代码如下:

private void btnSelect_Click(object sender, EventArgs e)

{

//首先进行模糊查询

string strComboxSelect = ComboxSelect.Text.Trim()

string strSearch = txtSearch.Text.Trim()

if(strComboxSelect.Equals("请选择类别"))

{

MessageBox.Show("请选择类别!","提示")

return

}

if (strSearch == "" || strSearch == null)

{

MessageBox.Show("请输入查询内容!", "提示")

return

}

//手动代码把数据库中的数据显示出来

OleDbConnection conn = GetConnection()

string sqlText = "select 姓名,性别,出生日期,工作年限,证件类型,证件号,居住地,Email,手机号码,家庭电话,自我评价 from MResume where " + strComboxSelect + " like '%"+@strSearch+"%'"

OleDbCommand cmd = new OleDbCommand(sqlText, conn)

cmd.Parameters.AddWithValue("@strSearch", strSearch)

try

{

conn.Open()

//int i = cmd.ExecuteNonQuery()

DataTable dt = new DataTable()

OleDbDataAdapter oda = new OleDbDataAdapter(sqlText, conn)

oda.Fill(dt)

dataGridView1.DataSource = dt

}

catch (Exception ex)

{

MessageBox.Show(ex.ToString())

}


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/7380288.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-05
下一篇 2023-04-05

发表评论

登录后才能评论

评论列表(0条)

保存