关键词搜索

源码搜索 ×
×

vb.net 教程 4-10 XML文件操作 4-2

发布2021-09-08浏览319次

详情内容

版权声明:本文为博主原创文章,转载请在显著位置标明本文出处以及作者网名,未经作者允许不得用于商业目的。

主窗体的代码:

需要引用的类:

Imports System.Threading
Imports System.Xml
Imports System.IO
Imports System.Net
 

窗体级变量:

    Dim xmlfile As String    '保存地址的xml文件
    Dim pingTime As Integer     'ping超时时间,毫秒,默认为500
    Dim threadCheck As Thread   '检测线程
    Dim blStopCheck As Boolean  '是否停止检测标记
 

窗体载入时,载入xml文件中的数据,并显示在ListView控件:

    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        Me.CheckForIllegalCrossThreadCalls = False   ‘设置允许窗体和多线程交互
 
        xmlfile = Application.StartupPath.TrimEnd("\") & "\linked.dat"
        pingTime = 500             ’设置Ping超时时间
 
        Call localInfo()
 
        '载入xml中的数据
        If loadXmlData() = False Then
            Exit Sub
        End If
        btnStart.Enabled = True
        btnDel.Enabled = True
 
        comTime.Text = comTime.Items(2).ToString
    End Sub
获取当前网络状态等信息,并显示到状态栏中:

    Private Sub localInfo()
        Dim info As String = ""
        If My.Computer.Network.IsAvailable Then
            info = "网络连接中"
            Dim localname As String
            localname = System.Net.Dns.GetHostName
            Dim localips() As IPAddress
            localips = System.Net.Dns.GetHostByName(localname).AddressList
            Dim localip As String
            If localips.Length > 0 Then
                localip = localips(0).ToString
            Else
                localip = ""
            End If
            info &= ",IP地址:" & localip
        Else
            info = "网络不可用"
        End If
 
        Dim strAuthor As String = "程序设计:http://blog.csdn.net/uruseibest"
        info = strAuthor & "     " & info
        tsslInfo.Text = info
    End Sub
载入XML中的数据并在ListView中显示:

    Private Function loadXmlData() As Boolean
 
        '文件不存在
        If File.Exists(xmlfile) = False Then
            '创建文件
            Call createDatafile()
        End If
        Dim xd As New XmlDocument()
        Try
            xd.Load(xmlfile)
            Dim addrNodes As XmlNodeList
            addrNodes = xd.SelectNodes("//addrdata/addrlist")
            Dim i As Integer = 0
            Dim addrname As String = ""
            Dim addrinfo As String = ""
            Dim addrtype As String = ""
            If addrNodes.Count > 0 Then
                For Each addrNode As XmlNode In addrNodes
                    i += 1
                    Dim addrNodeInfos As XmlNodeList
                    addrNodeInfos = addrNode.ChildNodes
 
                    addrname = addrNodeInfos(0).InnerText
                    addrinfo = addrNodeInfos(1).InnerText
                    addrtype = addrNodeInfos(2).InnerText
 
                    Dim lvAddrInfo As New ListViewItem()
                    lvAddrInfo.Text = i
                    lvAddrInfo.SubItems.Add(addrname)
                    lvAddrInfo.SubItems.Add(addrtype)
                    lvAddrInfo.SubItems.Add(addrinfo)
                    lvAddrInfo.SubItems.Add("等待")
                    lvAddrInfo.SubItems.Add("")
                    lvCheck.Items.Add(lvAddrInfo)
 
                Next
            End If
 
        Catch ex As Exception
            Return False
        End Try
        Return True
    End Function

注意,当xml文件不存在的时候,创建一个没有数据的xml文件:

    Private Sub createDatafile()
        Dim strXmlDefault() As String
        ReDim strXmlDefault(2)
        strXmlDefault(0) = "<?xml version=""1.0"" encoding=""utf-8""?>"
        strXmlDefault(1) = "<addrdata>"
        strXmlDefault(2) = "</addrdata>"
        File.WriteAllLines(xmlfile, strXmlDefault)
    End Sub
 

由于.net平台下C#和vb.NET很相似,本文也可以为C#爱好者提供参考。

学习更多vb.net知识,请参看vb.net教程目录

 
————————————————
版权声明:本文为CSDN博主「VB.Net」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
 

相关技术文章

点击QQ咨询
开通会员
返回顶部
×
微信扫码支付
微信扫码支付
确定支付下载
请使用微信描二维码支付
×

提示信息

×

选择支付方式

  • 微信支付
  • 支付宝付款
确定支付下载