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

作者:fx_blog(CSDN)

日期:2005-5-22

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

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

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

'接下来我们来完另处部分的功能

'***********************删除用户*********************************88

'这个删除用户只能由admin 来完成

'代码如下:

'双击“删除用户”按钮

'写入以下代码:

Me.Text = "留言主界面-管理员删除用户"

        If TextBox3.Text = "" Then
            MessageBox.Show("请输入要删除的用户!!!")
            Exit Sub
        End If
        If TextBox1.Text <> "admin" Then
            MessageBox.Show("对不起,你不是管理员,无法删除!")
            Exit Sub
        End If

        Dim doc As XmlDocument = New XmlDocument
        doc.Load("info.xml")
        Dim getUser As XmlNodeList = doc.GetElementsByTagName("userid")
        Dim i As Integer
        For i = 0 To getUser.Count - 1
            While TextBox3.Text = getUser(i).InnerText
               Dim useradmin As XmlElement
        Dim root As XmlElement = doc.DocumentElement
        Try
            Dim removeUser As XmlElement
            removeUser = doc.SelectSingleNode("/userinfo/users[userid='" & TextBox3.Text & "']")
            doc.SelectSingleNode("/userinfo").RemoveChild(removeUser)
            doc.Save("info.xml")
                    MessageBox.Show("删除成功")
                    Exit Sub
        Catch ex As Exception
            MessageBox.Show(ex.Message)
                End Try
            End While
        Next
        MessageBox.Show("用户名不存在,请确认输入正确")
        Exit Sub

'********************************删除用户功能结束************************************

'*******************************接下来完成留言功能********************************

(1)首先要注意不能让标题一样,这在我们以后的删除和修改留言是有用的

(2)我们建立了两个属性liuyuanpiaoti,id

所以我们的代码如下:

'双击“提交”按钮

'写入以下代码:

Me.Text = "留言主界面-用户留言"

        If TextBox5.Text = "" Then
            MessageBox.Show("标题不能空")
            Exit Sub
        End If
        Dim doc As New XmlDocument
        doc.Load("info.xml")
        Dim checkpiaoti As XmlNodeList
        checkpiaoti = doc.SelectNodes("//userliuyuan/@liuyuanpiaoti")
        Dim checktrue As XmlNode
        For Each checktrue In checkpiaoti
            While TextBox5.Text = checktrue.InnerText
                MessageBox.Show("标题已经存在,请选择其他标题")
                Exit Sub
            End While
        Next

        If ComboBox1.SelectedIndex >= 0 And TextBox4.Text <> "" Then
            Try
                Dim userid As XmlNode
                Dim root As XmlNode = doc.DocumentElement
                Dim users As XmlElement = doc.CreateElement("users")
                users = doc.SelectSingleNode("/userinfo/users[userid='" & TextBox1.Text & "']")
                Dim userliuyuaninfo As XmlElement = doc.CreateElement("userliuyuaninfo")
                Dim userxinqing As XmlElement = doc.CreateElement("userxinqing")
                userxinqing.InnerText = ComboBox1.SelectedItem
                userliuyuaninfo.AppendChild(userxinqing)

                Dim userliuyuan As XmlElement = doc.CreateElement("userliuyuan")
                userliuyuan.InnerText = TextBox4.Text
                Dim liuyuanid As XmlAttribute = doc.CreateAttribute("id")
                Dim idNum As XmlNodeList
                idNum = doc.SelectNodes("/userinfo/users[userid='" & TextBox1.Text & "']/userliuyuaninfo")
                Dim i As Integer
                i = idNum.Count - 1
                liuyuanid.Value = i + 1
                userliuyuan.SetAttributeNode(liuyuanid)
                Dim liuyuanpiaoti As XmlAttribute = doc.CreateAttribute("liuyuanpiaoti")
                liuyuanpiaoti.Value = TextBox5.Text
                userliuyuan.SetAttributeNode(liuyuanpiaoti)

                userliuyuaninfo.AppendChild(userliuyuan)

                users.AppendChild(userliuyuaninfo)

                root.AppendChild(users)
                doc.Save("info.xml")
                MessageBox.Show("留言成功")
                Exit Sub

            Catch ex As Exception
                MessageBox.Show(ex.Message + "用户名不存在")
            End Try
        Else
            MessageBox.Show("请输入完整")
            Exit Sub
        End If

(3)这是我们在注册完情况下才能写入的,我们注册完成后,把信息保存在"info.xml"下

(4)用这句:idNum = doc.SelectNodes("/userinfo/users[userid='" & TextBox1.Text & "']/userliuyuaninfo")

把自己留言的留言语保存在自己的那个Users节点下,完全无数据库

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

'******************************** 再来写显示自己的留言***********************************

'(1)把自己的留言显示在多行文件框内..

'代码如下:

'双击"查看留言"按钮

'写入以下的代码:

Me.Text = "留言主界面-显示你的留言"
        TextBox4.Text = ""
        Dim doc As New XmlDocument
        doc.Load("info.xml")
        Dim root As XmlElement = doc.DocumentElement
        Dim showyourown As XmlNodeList
        Try
            showyourown = root.SelectNodes("/userinfo/users[userid='" & TextBox1.Text & "']")
            Dim myownliuyuan As XmlNodeList
            myownliuyuan = doc.SelectNodes("/userinfo/users[userid='" & TextBox1.Text & "']/userliuyuaninfo/userliuyuan")
            Dim showresult As XmlNode
            TextBox4.Text += "你的留言!" & vbCrLf & vbCrLf
            For Each showresult In myownliuyuan

                TextBox4.Text += showresult.InnerText & vbCrLf
                TextBox4.Text += "=====================" & vbCrLf
            Next
        Catch ex As Exception
            MessageBox.Show("用户名不存在")
        End Try

'******************************显示留言的功能结束*************************************

'**************************这个窗体上的其他小按钮的代码*******************8

'最上面的"重填"按钮

      TextBox1.Text = ""
        TextBox2.Text = ""

'第三部分的"重设"按钮

    TextBox4.Text = ""
        TextBox5.Text = ""

'“关闭”按钮

Me.Close()

'**********************************************现在我们来完成***********************************88

'****************************************显示所有留言的功能*************************************8888

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

'首先我们来建立一个窗口

'单击窗体上的菜单栏--项目--添加新项--

(1)左边---本地项目项

(2)右边---Windows窗体

(3)打开(Form3)

'双击蓝色部分Panel上的“查看全部”按钮

'写入以下代码

        Dim showform As New Form3
        showform.Show()

'用来显示我们要看留言的窗口

'好了,让我们打开Form3 窗体

'界面如下:

 '在窗体上拉入一个多行的文件框:

然后双击窗体(不在Textbox上)进入Form3_Load(...)

'首先在最上面写入命名空间

Imports System.Xml
Imports System.Xml.XPath
Imports System.Text
Imports System.IO

写入以下的代码

(1)这里我们用循环来看出所有用户,再以每一个用户来显示出每位用户的所有留言

Dim doc As New XmlDocument
        doc.Load("info.xml")

        Dim listuser As XmlNodeList
        listuser = doc.GetElementsByTagName("userid")

        Dim listliuyuan As XmlNodeList

        'Dim i, j As Integer
        'For i = 0 To listuser.Count - 1
        'Label1.Text += "姓名:" & listuser(i).InnerText & vbCrLf
        'Next
        'For j = 0 To listliuyuan.Count - 1
        'Label1.Text += "留言语: " & listliuyuan(j).InnerText & vbCrLf
        'Next
        Dim i As Integer
        For i = 0 To listuser.Count - 1
            TextBox1.Text += "用户名: " & listuser(i).InnerText & vbCrLf
            listliuyuan = doc.SelectNodes("userinfo/users[userid='" & listuser(i).InnerText & "']/userliuyuaninfo/userliuyuan")
            Dim liuyuanresult As XmlNode
            For Each liuyuanresult In listliuyuan
                TextBox1.Text += "留言语: " & liuyuanresult.InnerText & vbCrLf

                TextBox1.BackColor = Color.SandyBrown
            Next
            TextBox1.Text += "======================" & vbCrLf
        Next

'关闭按扭不用我来写了

'*******************************显示所有留言结束******************************888

'好了就写这些了,这是第二部分.

'大家先看看..

'有问题给我留言....

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

fx_blog

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值