用XML写的留言录(vb.net)(三)

原创 2005年05月22日 02:23:00

作者:fx_blog(CSDN)

日期:2005-5-22

标题:威人留言录(v1.8)

注意:转贴一定注明作者及出处

'***************这一部分我们来完成修改与删除留言功能**************************

'******************************开始*******************************************

'我们还要再新建一个窗体

'这两个功能(删除与修改)都是在这个窗体上完成的

'界面如下:

'***********************完成删除功能**************************************888

'先回到留言主界面

'双击"删除留言"

'写入以下代码

        Dim removeform As New form4

'以下这句是窗体间值传递的代码
        removeform.TextBox2.Text = Me.TextBox1.Text
        removeform.Show()

' 注意必需先完成都form4上各控件(窗体上的控件要先拉好)

'在最上面写入命名空间:

Imports WindowsApplication2.Form1
Imports System.Xml
Imports System.Xml.XPath
Imports System.Text
Imports System.IO

'新建一个窗体不用我来讲了吧

'前两篇已有讲过了(两次)

'好了,现在打开form4窗体

'双击"删除"按钮

'写入以下的代码

'这些代码如果有不懂的讲留言.

'基本的想法就是用XPath路径语言,根据留言主界体的Textbox1.Text(就是登陆框里的那个用户名)

'根据这个用户名来定位到这个用户的所有的留言,再根据文本框里的内容(标题)(所以上次说标题不能一样在这边就有得用了)来定位到具体的留言语,然后删除它.

' 输入以下代码:

 If TextBox1.Text = "" Then
            MessageBox.Show("请输入要删除的内容")
            Exit Sub
        End If
        Dim doc As New XmlDocument
        doc.Load("info.xml")
        Dim firstChild As XmlNodeList
        firstChild = doc.SelectNodes("/userinfo/users[userid='" & TextBox2.Text & "']/userliuyuaninfo")
        Try
            Dim delNodes As XmlNode
            For Each delNodes In firstChild
                Dim delNodesTrue As XmlNode
                delNodesTrue = delNodes.SelectSingleNode("//userliuyuaninfo[userliuyuan[@liuyuanpiaoti='" & TextBox1.Text & "']]")
                'TextBox3.Text = delNodesTrue.InnerText
                doc.SelectSingleNode("/userinfo/users[userid='" & TextBox2.Text & "']").RemoveChild(delNodesTrue)
                doc.Save("info.xml")
                MessageBox.Show("删除成功")
                Exit Sub
            Next
        Catch ex As Exception
            MessageBox.Show("删除失败,或标题书写错误,或用户名错误" + ex.Message)
        End Try

'*********************删除留言功能结束*******************************************

'*********************再来完成修改功能****************************************

'我们再回到留言主界面

'双击"修改留言"按钮

'输入以代码:

        Dim updateform As New form4
        updateform.TextBox2.Text = Me.TextBox1.Text
        updateform.Show()

'好了,再回到Form4....

'双击Form4窗体上的没有控件的地方

' 进入Form4_Load(...)

写入以下的代码:

        Dim doc As New XmlDocument
        doc.Load("info.xml")
        Dim piaotitocombobox As XmlNodeList
        piaotitocombobox = doc.SelectNodes("/userinfo/users[userid='" & TextBox2.Text & "']/userliuyuaninfo/userliuyuan/@liuyuanpiaoti")
        Dim insertPiaoti As XmlNode
        For Each insertPiaoti In piaotitocombobox
            ComboBox1.Items.Add(insertPiaoti.InnerText)
        Next

(1)我们一样,也是根据留言主界面上传过来 用户名 来把这个用户名的所有留言的标题加载到combobox1里面去.

(2)这个combobox的第一项是我们自己写的

'再来双击combobox 这个按钮

通过以下的代码:

If ComboBox1.SelectedIndex <= 0 Then
            MessageBox.Show("请选择一个标题")
            Exit Sub
        End If
        Dim doc As New XmlDocument
        doc.Load("info.xml")

        'Dim getUser As XmlNodeList
        'getUser = doc.GetElementsByTagName("userliuyuan")
        Dim getResult As XmlNodeList
        getResult = doc.SelectNodes("/userinfo/users[userid='" & TextBox2.Text & "']/userliuyuaninfo/userliuyuan")
        Dim showliuyuan As XmlNode
        For Each showliuyuan In getResult
            TextBox3.Text = showliuyuan.SelectSingleNode("//userliuyuan[@liuyuanpiaoti='" & ComboBox1.SelectedItem & "']").InnerText
        Next

'(1)我们要实现,在combobox1上选择一个标题,就自动在多行文本框里显示这个标题的内容.

'好了我们来完成这个修改留言这个功能

'修改的留言是用户在combobox上选择的.

'双击"修改"按钮

'写入以下的代码

 If ComboBox1.SelectedIndex <= 0 Then
            MessageBox.Show("请选择标题")
            Exit Sub
        End If
        If TextBox3.Text = "" Then
            MessageBox.Show("修改内容不能为空")
            Exit Sub
        End If
        Dim doc As New XmlDocument
        doc.Load("info.xml")
        Try
            Dim getUser As XmlNode
            getUser = doc.SelectSingleNode("/userinfo/users[userid='" & TextBox2.Text & "']")
            Dim toUpdateNode As XmlNodeList

            toUpdateNode = getUser.SelectNodes("//userliuyuaninfo/userliuyuan[@liuyuanpiaoti='" & ComboBox1.SelectedItem & "']")
            Dim selectNode As XmlNode
            For Each selectNode In toUpdateNode
                selectNode.InnerText = TextBox3.Text
                doc.Save("info.xml")
                MessageBox.Show("修改成功")
                Exit Sub
            Next


        Catch ex As Exception
            MessageBox.Show("修改失败:" & ex.Message)
        End Try

(1)如何实现不用我来讲了,我在上面已经讲得很清了.

'*********************************修改功能结束*******************************************88

'好了,这次就写这么多,大家看看,有不懂的请留言.

用XML写的留言录(vb.net)(四)

作者:fx_blog(CSDN)日期:2005-5-22标题:威人留言录(v1.8)注意:转贴一定注明作者及出处**********************这一部分我们来完成用户注册信息修改的功能**...
  • fx_blog
  • fx_blog
  • 2005年05月22日 02:56
  • 1639

用XML写的留言录(vb.net)(二)

作者:fx_blog(CSDN)日期:2005-5-22标题:威人留言录(v1.8)注意:转贴一定注明作者及出处******************************************开始...
  • fx_blog
  • fx_blog
  • 2005年05月22日 01:45
  • 2734

用XML写的留言录(vb.net)(五)

作者:fx_blog(CSDN)日期:2005-5-22标题:威人留言录(v1.8)注意:转贴一定注明作者及出处*****************************************开始*...
  • fx_blog
  • fx_blog
  • 2005年05月31日 14:54
  • 1237

用XML写的留言录(vb.net)(一)

作者:fx_blog(CSDN)日期:2005-5-22标题:威人留言录(v1.8)注意:转贴一定注明作者及出处*****************************************开始*...
  • fx_blog
  • fx_blog
  • 2005年05月22日 01:04
  • 1985

VB.net学习笔记(二十一)XML流的读写

System.Xml名称空间支持XML的处理,为了生成和浏览XML文档,使用两种访问方式: 一、读写方式     (一)基于流的方式     特点:速度快,可连续读写,缺点不能作为节点、元素等进...
  • dzweather
  • dzweather
  • 2016年05月22日 12:07
  • 4211

java微信订阅号(公众号)开发案例

个人微信订阅号开发基本步骤和代码解析
  • j086924
  • j086924
  • 2016年11月22日 11:31
  • 2187

使用vb.net向xml文件添加节点

今天研究了好久如何用vb.net想xml文件中添加节点 确实在网上写了很多相关的文章,但就是无法理解透彻 刚刚终于找到了一篇文章,使用了极其简单的方式向xml文件中加入了节点 -----------...
  • u010052030
  • u010052030
  • 2013年10月04日 15:12
  • 1117

SSH整合之入门级例子:简易留言板(完整源码)

一.环境说明 ※Windows 10 ver 1703 ※IDEA 2017 2.5 ※JDK 1.8 ※MySQL 5.7 ※Maven 3.5 二.框架说明 ※Spring 4.3.11 ※Spr...
  • cslucifer
  • cslucifer
  • 2017年10月11日 19:36
  • 561

node.js使用(五):网站访问、搭建服务器及留言功能的实现

1、用nodejs实现留言功能。新建message.js文件const http = require('http'); const qs = require('querystring'); cons...
  • sinat_37390744
  • sinat_37390744
  • 2017年07月06日 15:06
  • 229

Vue制作简易留言板!

更新我的第一篇博客,第一篇博客跟大家分享的是自己用Vue写的一个简易留言板             整个页面由HTML(结构),CSS(表现),Js(行为)组成。             首先第一...
  • wwwwr0621
  • wwwwr0621
  • 2017年07月09日 12:08
  • 486
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:用XML写的留言录(vb.net)(三)
举报原因:
原因补充:

(最多只允许输入30个字)